Задать вопрос
Профиль пользователя заблокирован сроком с 6 мая 2016 г. и навсегда по причине: Мат в комментариях
Ответы пользователя по тегу Расширения для браузеров
  • Как работет http снифер в браузере(HttpFox,HttpRequester,FireBug)?

    @VZVZ
    Reverse-Engineer, Software Developer, Architect
    > каждую вкладку через отдельный поток пускают
    Какие еще потоки в браузерном JS? Не слышал о таком.
    И что они там "пускают"?
    И прямой связи с вкладками тут нет, мы что, в Web 1.0 живем, когда 1 вкладка = 1 запрос, а ни аяксов, ни даже фреймов и тэга img (что вообще невозможно представить - фреймы и img уже и в Web 1.0 были) - еще не изобрели?
    А вот в API браузера средства для перехвата всех запросов кое-какие есть, вполне может быть возможность определить и характер запроса (frame, img, XmlHttpRequest(AJAX), а может это вовсе запрос от другого расширения), и какая вкладка так или иначе его породила.
    Особенно в Firefox должно быть богато.

    > как работают такие расширения
    Хреново они работают.
    Может они и захватывать могут все что надо, но отображается захваченное очень неудобно, черт ногу сломит, ничего не разберешь.
    А если вам запросы вообще не от сайта надо отсниффить, а от приложения Android, скажем?
    С появлением Fiddler во всем этом пропала надобность.
    Ответ написан
  • Как правильно делать локализацию JavaScript-приложений?

    @VZVZ
    Reverse-Engineer, Software Developer, Architect
    1) Не приходило ли в голову хранить в том JSON-файле перевод сразу всего куска HTML, а не по кусочкам? Тогда бы не пришлось ничего конкатенировать. Тогда в JS было бы достаточно:
    $("#debug").html(chrome.i18n.getMessage("debug_page_html"));

    Это и по производительности, пожалуй, было бы чуток быстрее.

    2) не приходило ли в голову не искать какие-то готовые библиотеки с избыточным функционалом, а просто написать СВОЮ функцию-шаблонизатор, которая бы заполняла пропуски в шаблоне HTML.
    Получится как-то так:
    $("#debug").html(my_own_function(
      '<h1>{{debug_page}</h1><h2>{{key_permissions}}</h2>',
      chrome.i18n.getMessage("debug_page"),
      chrome.i18n.getMessage("key_permissions")
    ));

    Это ведь не так уж и сложно.
    Ответ написан
    Комментировать