前几天我向Mozilla Addons提交了一个插件进行初步审核。评论员给了我这个建议:
尽可能使用JavaScript模块。这些只会在以下情况下导入 它们尚未加载并减少内存消耗 响应时间。看到 https://developer.mozilla.org/en-US/docs/JavaScript_code_modules和 https://developer.mozilla.org/en-US/docs/JavaScript_code_modules/Services.jsm 。 Services.prefs ...对你很有意思。
现在,我正在使用它来加载我的首字母:
var prefs = Components.classes [“@ mozilla.org/preferences-service;1”] .getService(Components.interfaces.nsIPrefBranch);
以后......
var mypref= this.prefs.getBoolPref("extensions.myaddon.mypref");
现在,我查看了页面引用,并且不确定如何按照审阅者的建议进行操作。我找不到一个如何这样做的例子。我能做的最好的就是添加这个:
Components.utils.import('resource://textlink-modules/prefs.js'),
...但在那之后我无法弄清楚如何引用mypref。我是新手,所以如果有人可以帮助我,那就太好了。我怎么能这样做?
答案 0 :(得分:4)
您无法将prefs.js
作为模块导入,因为它不是一个模块。
您可以并且被鼓励做的是在服务模块之后导入,然后通过全局变量服务引用它提供的各种服务。
编辑:
Components.utils.import("resource://gre/modules/Services.jsm");
var prefs = Services.prefs;
var mypref = prefs.getBoolPref("extensions.myaddon.mypref");