我正在开发一个从目录而不是xpi,Firefox扩展代理文件加载的Firefox插件。扩展基于jsm模块。
有没有办法更新这些模块以反映代码更改。现在唯一的办法就是关闭并重新启动浏览器,但这并不是开发任何东西的理智方式。
试图:
Components.utils.unload('resource://myextension/mymodule.jsm');
Components.utils.import('resource://myextension/mymodule.jsm');
但未进行更改。
答案 0 :(得分:1)
得到了Victor Porof的答案。为了完成这项工作,您需要先清除缓存:
var obs = Cc["@mozilla.org/observer-service;1"].getService(Ci.nsIObserverService);
obs.notifyObservers(null, "startupcache-invalidate", null);
希望这有助于任何人