我无法得到体现在Firefox扩展而无需重新启动Firefox浏览器的源代码修改。 我相信使用引导方法时,这应该是可能的。
这里是源代码:
bootstrap.js
var GOOGBAR_MODULES = [ "resource://googbar/loader.js"];
function startup(params, reason)
{
var res = Services.io.getProtocolHandler("resource").QueryInterface(Ci.nsIResProtocolHandler);
var modulesURI = Services.io.newURI(__SCRIPT_URI_SPEC__ + "/../content/", null, null);
res.setSubstitution("googbar", modulesURI);
Cu.import("resource://googbar/loader.js");
}
function shutdown(params, reason)
{
// Unload all modules added with Cu.import
GOOGBAR_MODULES.forEach(Cu.unload, Cu);
// Clear our resource registration
var res = Services.io.getProtocolHandler("resource").QueryInterface(Ci.nsIResProtocolHandler);
res.setSubstitution("googbar", null);
}
loader.js
console.log("googbar loader loaded");
当我在装载机更改消息,它不得到反映在Firefox(版本30)。 我在其中包含的路径,我的文件夹发展的配置文件扩展文件夹中的文件“goog@myself.com”。 我对loader.js所做的更改犯规反映,当我启用/禁用或删除/从约撤消:扩展页面,除非我重新启动Firefox。 为什么代码没有动态加载任何指针将是有益的。
我没有兴趣在用于开发的SDK。 在描述我还设置各种标志https://developer.mozilla.org/en-US/Add-ons/Setting_up_extension_development_environment
编辑1:
下面是打包为我使用测试场景的XPI(1.35KB)上面的代码的链接。 https://www.dropbox.com/s/0io8b081ybu632q/test.xpi
编辑2:
我的目标是在无需重新启动每次代码更改浏览器,以加快开发进程。 这里有一个相关的帖子 ,但似乎是一个过时的一个。