The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Добавление собственных элементов меню в Firefox
Добавим в меню "Инструменты" Firefox кнопку для быстрого включения и выключения
работы через прокси.

Настройками прокси управляет переменная network.proxy.type. При значении 0 -
прокси не используется, а при значении 5 - используется сервер заданный в
настройках рабочего стола, это легко увидеть меняя настройки и глядя на
закладку about:config. Задача - добавить меню с функцией которая изменяет
значение этой переменной.

Нужно отредактировать всего два файла

   sudo vim /usr/lib/firefox-3.6.3/chrome/browser.jar

в полученном списке файлов выбираем файл content/browser/browser.xul находим
раздел подменю id="tools-menu" и добавляем туда новый пункт меню "Switch proxy"
(вставка должна соответствовать стандартам XML)

   <menuseparator id="imageprefs"/>
   <menuitem id="menu_switchproxy" label="Switch proxy" oncommand="switch_proxy()"/>

сохраняем и переходим в конец файла content/browser/browser.js и добавляем туда функцию

   function switch_proxy(){
     if (gPrefService.getIntPref("network.proxy.type") == 5) {
         gPrefService.setIntPref("network.proxy.type", 0);
     }else{
         gPrefService.setIntPref("network.proxy.type", 5);
     }
   }

Сохраняем файл (если редактировать через vim то jar архив будет автоматически
обновлен) и перезапускаем Firefox.

Таким же образом можно сделать переключатель, управляющий анимацией и
автоматической закачкой картинок, для этого необходимо обрабатывать переменные:

   image.animation_mode - true-включение анимации, false-выключение
   permissions.default.image - 1-закачивать картинки, 2-не закачивать
 
14.07.2010 , Автор: ffsdmad , Источник: http://breys.ru/blog/632.html...
Ключи: firefox, menu, javascript, web
Раздел:    Корень / Пользователю / Работа с Web и Ftp

Обсуждение [ RSS ]
  • 1.1, sceptic (?), 00:26, 16/07/2010 [ответить]  
  • +/
    А через ~/.mozilla/firefox/<profile>/chrome слабо сделать?
     
     
  • 2.6, ffsdmad (ok), 14:56, 17/07/2010 [^] [^^] [^^^] [ответить]  
  • +/
    а можно чуть подробнее?
    у меня в профиле скоро гигабайт данных будет, мне было проще разобраться в /usr/lib/firefox-3.6.3/chrome/browser.jar
     

  • 1.2, VasVovec (?), 09:46, 16/07/2010 [ответить]  
  • +/
    Класс, нужная штука. А можно еще как-то для этого пункта меню горячую клавишу назначить?

    Кстати, если под офтопиком, то этот файл я нашел только в одном месте:
    C:\Program Files\Mozilla Firefox\chrome\browser.jar

     
     
  • 2.8, zoonman (ok), 01:21, 22/07/2010 [^] [^^] [^^^] [ответить]  
  • +/
    https://developer.mozilla.org/en/XUL/PopupGuide/MenuItems
     

  • 1.3, Filosof (ok), 15:49, 16/07/2010 [ответить]  
  • +/
    Это называется XUL-программирование
    + сопутствующее JS программирование -:)
    Довольно мощная и удобная штука, чтоб создавать браузрные интерфейсы на базе ФФ.
     
  • 1.4, axe (??), 19:47, 16/07/2010 [ответить]  
  • +/
    давно хотел спросить. Почему внутри фаерфокса присутствует некий хром? Это совпадение?
     
     
  • 2.5, XoRe (ok), 11:23, 17/07/2010 [^] [^^] [^^^] [ответить]  
  • +/
    >давно хотел спросить. Почему внутри фаерфокса присутствует некий хром? Это совпадение?

    Это просто тезка гугловского хрома)
    Оно так называлось задолго до рождения гуглового браузера.

     

  • 1.7, bunta (?), 16:18, 18/07/2010 [ответить]  
  • +/
    А после обновления фокса снова переписывать? :)
    Это делается через динамический оверлей, созданием своего мини-расширения. Юзайте xul & js.
     
     
  • 2.9, zoonman (ok), 01:25, 22/07/2010 [^] [^^] [^^^] [ответить]  
  • +/
    А поискать готовые расширения, которые позволяют делать тоже самое?
    Первое попавшееся https://addons.mozilla.org/ru/firefox/addon/161958/
     

  • 1.10, StrangeAttractor (ok), 23:49, 27/07/2010 [ответить]  
  • +/
    Было бы интересно убрать ненужные пункты меню (например Send link рядом с Save link в контекстном меню при правом клике по ссылкам). Причём чтобы начисто. Планин редактор меню применяет свои твики только через пару минут после загрузки.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру