Описание тега firefox-addon-bootstrap
Примечание. Все расширения, созданные с использованием /questions/tagged/firefox-addon-sdk, загружаются! Весь загрузочный код создан для вас, так что вам не нужно об этом думать.
Традиционные расширения включают в себя оверлеи, в которых приложение может загрузить xul из пакета расширения и автоматически применить его поверх собственного интерфейса. Хотя это делает создание расширений, которые добавляют пользовательский интерфейс приложения, относительно простым, это означает, что обновление, установка или отключение расширения требует перезапуска приложения.
Gecko (Firefox 4 / Thunderbird 3.3 / SeaMonkey 2.1) представляет загрузочные расширения. Это специальные расширения, которые вместо использования оверлеев для применения своего пользовательского интерфейса к приложению программно вставляют себя в приложение. Это делается с помощью специального файла сценария, который входит в расширение и содержит функции, которые браузер вызывает для команды расширения. install
, uninstall
, startup
, а также shutdown
,
Все, что делает приложение, это вызывает этот файл скрипта; расширение отвечает за добавление и удаление своего пользовательского интерфейса, а также за выполнение любых других задач установки и завершения работы, которые ему требуются.
Процесс запуска и завершения работы
Ключевой особенностью загружаемых расширений является то, что они должны запускаться и выключаться по требованию приложения. Когда расширение startup()
вызывается функция, она должна вручную внедрить свой пользовательский интерфейс и другое поведение в приложение. Точно так же, когда его shutdown()
Вызывается функция, она должна удалить все, что было добавлено в приложение, а также все ссылки на любой из ее объектов.
Создание загруженного расширения
Чтобы пометить расширение как загружаемое, вам нужно добавить следующий элемент в его манифест установки:
<em:bootstrap>true</em:bootstrap>
Затем вам нужно добавить файлbootstrap.js, который содержит необходимые функции; это должно быть рядом с файлом install.rdf в пакете расширения.
Точки входа в Bootstrap:
aData Структура данных начальной загрузки
{id, version, installPath, resourceURI, ...}
,aReason Одна из постоянных причин
APP_STARTUP
,ADDON_ENABLE
,ADDON_INSTALL
,...
запускать
Вызывается, когда расширение необходимо запустить самостоятельно. Это происходит во время запуска приложения или когда расширение включено после его отключения (или после того, как оно было закрыто для установки обновления. Таким образом, его можно вызывать много раз в течение срока службы приложения.
Это когда ваша надстройка должна внедрить свой пользовательский интерфейс, запустить любые задачи, которые могут потребоваться, и так далее:
function startup(aData, aReason) { }
неисправность
Вызывается, когда расширение должно быть отключено, например, когда приложение закрывается или когда расширение собирается быть обновлено или отключено. Любой введенный пользовательский интерфейс должен быть удален, задачи закрыты и объекты удалены.
function shutdown(aData, aReason) { }
устанавливать
Ваш скрипт начальной загрузки должен включать install()
функция, которую приложение вызывает перед первым вызовом startup()
после того, как расширение установлено, обновлено или понижено.
function install(aData, aReason) { }
деинсталляция
Эта функция вызывается после последнего вызова shutdown() перед удалением определенной версии расширения.
function uninstall(aData, aReason) { }
Узнайте больше о сфере действия bootstrap.js