2

simple-prefs我的插件中的模块有问题( simple-prefs 文档)。我正在尝试使用menulistradio类型。问题是插件未加载或启动-main未调用函数。
当我使用命令时,我没有这个问题cfx run,它启动新的、清晰的 Firefox 实例 - 一切正常。我尝试在两台不同的计算机上运行这个插件,不幸的是结果相同。
下面我放代码片段:

主.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")
        }
    });
}

包.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。在我的代码片段中可能是错误 - 我刚刚在这里写了。

4

2 回答 2

2

不久前我创建了这个示例仓库:

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 中有一条评论,这可能会给您带来问题。

于 2013-01-18T21:55:11.433 回答
0

该模块将在未来的版本中更改,所以我不知道使用它有多安全。我使用简单存储在浏览器会话之间保存数据。此外,cfx 环境有时会出现一些未正确注册类型的奇怪行为。我使用 JSON.parse() 只是为了确保。

于 2013-01-18T15:30:35.120 回答