0
在我编写Firefox XUL扩展时,我发现我想在整个扩展中共享一些功能(业务逻辑)。什么是最好的地方来存储这个?Firefox扩展中应该放置哪些实用功能
我可以创建一些总是首先加载的库(JavaScript)文件吗?
在我编写Firefox XUL扩展时,我发现我想在整个扩展中共享一些功能(业务逻辑)。什么是最好的地方来存储这个?Firefox扩展中应该放置哪些实用功能
我可以创建一些总是首先加载的库(JavaScript)文件吗?
您很可能想创建一个JavaScript code module。您可以使用Components.utils.import()加载它:
Components.utils.import("chrome://myaddon/content/utils.jsm");
而且在utils.jsm
定义哪些符号应该由声明被输入,如:
var EXPORTED_SYMBOLS = ["Utils"];
var Utils = {
};
当第一次使用,并保持它的模块将被载入在此之后的内存中 - 无论您的扩展使用多少位置,只会有一个模块实例。请注意,我使用了一个chrome://
URL来加载模块,从Firefox 4开始支持。文档建议使用resource://
URL更干净,因为模块实际上与用户界面没有任何关系 - 仍然使用chrome://
URL通常更简单。