我正在使用jpm (1.0.5)的最后(或最后)版本之一实现Firefox扩展,但该扩展不调用startup()或does ()方法。我知道这应该是强制性的,必须宣布延期为
<em:bootstrap>true</em:bootstrap>进入install.rdf文件,但是当我创建了我的命名空间(使用jpm )时,没有这个文件,它是从package.json替换的。在这种情况下,我应该如何修改文件以使用启动和关闭方法工作呢?
发布于 2016-04-27 15:48:17
在我的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");
}参考卸载
发布于 2016-04-24 10:04:50
你有什么外接程序?
听起来像使用遗留API的XUL/Overlay插件。如果是这样,那么您必须创建自己的bootstrap.js文件。你经历过将覆盖扩展转换为restartless的所有步骤了吗
只有在使用Addons时,jpm init才会创建引导代码。我不确定使用jpm有什么好处,除非您正在使用新的Addons-SDK API创建一个附加组件,也许除了从命令行打包和提交外接程序到AMO的功能之外。jpm的调试/验证检查似乎没有发现很多问题,在基于XUL/Overlay API的附加组件中几乎没有问题。
也许您已经看过这里了?引导扩展,它链接到一个有文档的骨架bootstrap.js。
但是请注意,在chrome.manifest中,引导扩展不支持overlay指令。
以上提到的“转换”文档也涵盖了这些和其他主题。
https://stackoverflow.com/questions/36721126
复制相似问题