我的插件(simple-prefs documentation)中的simple-prefs
模块存在问题。我正在尝试使用menulist
或radio
类型。问题是未加载或启动插件 - 未调用函数main
当我使用cfx run
命令时,我没有这个问题,这启动了新的,明确的Firefox实例 - 一切正常。我试过在两台不同的计算机上运行这个插件,不幸的是结果相同
下面我放了代码片段:
main.js:
var prefs = require("simple-prefs").prefs;
...
exports.main = function (options, callbacks) {
console.log("Addon loaded: " + self.loadReason);
var modLogic = pageMod.PageMod({
include: "*",
contentScriptWhen: "start",
contentScriptFile: data.url("myContentScript.js"),
onAttach: function (worker) {
console.log("Page worker attached to: " + worker.tab.url);
// here I'm using prefs object: if(prefs.decision === "Y")
}
});
}
的package.json:
{
"name": "myaddon",
...
"preferences" : [{
"name": "decision",
"title": "someTitle",
"type": "radio", // or menulist
"value": "D",
"options": [{
"value": "D",
"label": "Default"
},
{
"value": "Y",
"label": "Yes"
},
{
"value": "N",
"label": "No"
}
]
}]
}
我正在使用addon-sdk 1.12和Firefox 18.0。在我的代码片段中可能是错误 - 我刚刚在这里写了它。
答案 0 :(得分:2)
我刚刚创建了这个示例repo:
https://github.com/canuckistani/jp-prefs-example
所有功能都适用于我,请参阅此屏幕截图:
https://dl.dropbox.com/u/44296964/Screen%20Shot%202013-01-18%20at%201.50.31%20PM.png
我也在使用Firefox 18和SDK 1.12。在您的示例中,您的JSON中有注释,这可能会导致您出现问题。
答案 1 :(得分:0)
该模块将在未来版本中更改,因此我不知道它的使用安全性。 我使用简单存储来保持浏览器会话之间的数据。 此外,cfx环境有时会出现一些奇怪的行为,而无法正确注册类型。 我只使用JSON.parse()来确保。