我的插件 ( 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。在我的代码片段中可能存在错误 - 我刚刚将其写在这里。
最佳答案
我不久前创建了这个示例存储库:
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 中有一条注释,这可能会给您带来问题。
关于firefox - 在 Firefox 插件中使用 simple-prefs 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14396411/