Изменить содержимое диалога загрузки Firefox из дополнительного комплекта - PullRequest
6 голосов
/ 07 октября 2011

Я бы хотел иметь возможность добавить опцию в диалог загрузки, который всплывает в Firefox при запуске загрузки файла.Можно ли это сделать с помощью нового надстройки SDK или мне нужно сделать это по-старому?

edit: Очевидно, что если выбрана новая опция, мне нужен способ узнать ее и выполнитькод на его основе.

Ответы [ 3 ]

1 голос
/ 09 октября 2011

Не существует существующего модуля, который бы помог вам, о котором я знаю, поэтому вам придется создать его или подождать, пока кто-то другой его сделает.Но основная идея расширения пользовательского интерфейса браузера проста и выглядит следующим образом:

  1. Когда загружено дополнение, найдите открытые окна того типа, который вы хотите расширить.
  2. Расширьте открытые окна, добавив элементы xul и javascript на страницу.
  3. прослушайте вновь открытые окна и проверьте, что они относятся к тому типу, который вы ищете, как только они откроются
  4. расширьте вновь открытое окноWindows, когда ваш аддон активен
  5. Очистите себя после закрытия окон или когда ваш аддон отключен / деинсталлирован.

Последний шаг самый важный и никогда не имеет значения для старой школырасширения, которые не были перезапущены.

Некоторые из встроенных модулей, на которые вы можете посмотреть, для которых это модуль виджетов, модуль контекстного меню и модуль горячих клавиш , все из которых вы можетенайти здесь .

Я сам создал пару, которые представляют собой модуль кнопок панели инструментов, модуль xulkeys, модуль menuitems и некоторые другие, все это вы можете найти здесь .

1 голос
/ 10 апреля 2013

Недавно я написал расширение, делающее то же самое. Расширение начальной загрузки, без использования addon-sdk.

Я уже отправляю его на AMO, но жду обзора

https://addons.mozilla.org/en-US/firefox/addon/download-dialog-tweak/

И исходный код

https://github.com/muzuiget/download_dialog_tweak

1 голос
/ 07 октября 2011

Для этого вы бы использовали XUL оверлеи . Я предполагаю, что диалог, о котором вы говорите, chrome://mozapps/content/downloads/downloads.xul - менеджер загрузок. AFAIK сделать это невозможно с помощью SDK надстройки, он предоставляет только самые распространенные точки интеграции пользовательского интерфейса. Однако вы можете создать традиционное расширение, оно может перекрывать любой диалог.

...