在Firefox插件中使用用户首选项

use*_*981 5 firefox add-on user-preferences firefox-addon-sdk

我正在构建一个Firefox扩展.它将CSS注入一个网站.但我想根据用户偏好注入它.这是我的附加组件中最重要的部分:

exports.main = function() {

var pageMod = require("page-mod");

var test = require("preferences-service");

pageMod.PageMod({
  include: "http://example.org/*",
  contentStyle: "something here"
  });
};
Run Code Online (Sandbox Code Playgroud)

但是Mozilla Firefox错误控制台出现错误:

错误:模块:undefined位于undefined无权加载:preferences-service

而且我不知道我应该做些什么才能让它发挥作用.有什么想法吗?:)也许有其他方式?

实际上,我想阅读首选项,然后生成足够的样式.如果这是有用的信息,我在defaults/preferences/prefs.js中有用户首选项.

use*_*981 4

好的,现在可以了。如果您遇到相同或类似的问题,请编辑harness-options.json 文件。后

"page-mod": {
"path": "addon-kit/lib/page-mod.js"
},
Run Code Online (Sandbox Code Playgroud)

添加:

"preferences-service": {
"path": "api-utils/lib/preferences-service.js"
}, /*with or without the comma, as the case may */
Run Code Online (Sandbox Code Playgroud)

就这样 :)