如何使用javascript模块加载Mozilla的prefs?

时间:2012-11-10 04:12:05

标签: firefox-addon preferences thunderbird-addon

前几天我向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。我是新手,所以如果有人可以帮助我,那就太好了。我怎么能这样做?

1 个答案:

答案 0 :(得分:4)

您无法将prefs.js作为模块导入,因为它不是一个模块。

您可以并且被鼓励做的是在服务模块之后导入,然后通过全局变量服务引用它提供的各种服务。

编辑:

Components.utils.import("resource://gre/modules/Services.jsm");
var prefs = Services.prefs;
var mypref = prefs.getBoolPref("extensions.myaddon.mypref");