嗨,我正在尝试开发一个简单的插件,它在新选项卡中打开一个不同于 firefox 默认页面的网页。我想更改 about:config 中的两个默认设置值,但似乎无法通过当前配置实现此目的。
我正在使用 firefox 推荐的 Add-On SDK 来开发附加组件。( creating a simple add-on using the SDK
通过查看about:config的设置,我发现如果我将“browser.newtab.url”设置为网页url,将“moa.ntab.openInNewTab”从true改为false,就可以实现这样的功能。所以我按照上面的教程添加了 ./defaults/preferences/pref.js 来更改配置。
我当前的目录如下所示:
ff-addon
└─ data
└─ defaults
└─ preferences
└─pref.js
└─ lib
└─ main.js
└─ package.json
└─ test
└─ test-main.js
/defaults/preferences目录下的pref.js代码如下:
pref("browser.newtab.url", "http://www.baidu.com");
pref("moa.ntab.openInNewTab", false);
我没有更改 main.js 中的代码。它的代码如下所示:
var buttons = require('sdk/ui/button/action');
var tabs = require("sdk/tabs");
var button = buttons.ActionButton({
id: "mozilla-link",
label: "Visit Mozilla",
icon: {
"16": "./icon-16.png",
"32": "./icon-32.png",
"64": "./icon-64.png"
},
onClick: handleClick
});
function handleClick(state) {
tabs.open("http://www.mozilla.org/");
}
我也没有更改 package.json 中的代码:
{
"name": "ff-addon",
"title": "ff-addon",
"id": "jid1-mPDAO4AqY5w17w",
"description": "a basic add-on",
"author": "",
"license": "MPL 2.0",
"version": "0.1"
}
你能告诉我出了什么问题,或者我可以按照什么来完成如此简单的功能......非常感谢!
最佳答案
正如第一条评论所说,请参阅 sdk/preferences/service 的文档。 .
这是一个快速示例:
var name = "extensions.checkCompatibility.nightly";
require("sdk/preferences/service").set(name, false)
关于火狐插件开发,如何改:config setting左右,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29194144/