Загрузочное расширение с новым jpm Firefox

Я реализую расширение Firefox, используя одну из последних (или последних) версий jpm (1.0.5), но расширение не вызывает методы startup () или shutdown (). Я знаю, что должно быть обязательно объявить расширение как

<em:bootstrap>true</em:bootstrap>

в файл install.rdf, но когда я создал свое пространство имен (используя jpm init), этого файла не было, и он был заменен из package.json. В этом случае, как я должен изменить файлы, чтобы использовать методы запуска и завершения работы?

2 ответа

Решение

В моем main.js я слушаю загрузки и выгрузки, как это.

exports.main = function(options, callbacks) {
    if (options.loadReason == "install" || options.loadReason == "startup") {
        factory = new Factory(AboutDualView);
        factory = new Factory(AboutEPFViewer);
        registerRemotePages();
    }
}

exports.onUnload = function (reason) {
    if (reason == "shutdown") {
        factory.unregister();
        RemotePageManager.removeRemotePageListener("about:dualview");
        RemotePageManager.removeRemotePageListener("about:epfviewer");
    }
};

function registerRemotePages(){
    let DualViewmanager = new RemotePages("about:dualview");
    let EPFViewmanager = new RemotePages("about:epfviewer");
}

Ссылка https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/SDK/Tutorials/Listening_for_load_and_unload

Какой тип дополнения у вас есть?

Походит на дополнение XUL/Overlay, используя устаревший API. Если это так, то вы должны создать свой собственный bootstrap.js файл. Вы прошли все шаги, чтобы преобразовать расширение наложения в перезапуск?

jpm init создаст загрузочный код только при использовании Addons-SDK. Я не уверен в какой-либо пользе от использования jpm, если вы не создаете надстройку с помощью нового API Addons-SDK, за исключением, возможно, возможности упаковать и отправить надстройку в AMO из командной строки. Похоже, что отладка / проверка правильности jpm не улавливает многих проблем, почти никаких в надстройках на основе XUL/Overlay API.

Возможно, вы уже смотрели здесь? Загрузочные расширения, которые ссылаются на документированный скелет bootstrap.js.

Обратите внимание, что в chrome.manifestoverlay инструкция не поддерживается в загружаемых расширениях.

Эти и другие темы также рассматриваются в документе "convert", указанном выше.

Другие вопросы по тегам