Firefox插件开发,如何改变:配置设置

时间:2015-03-22 12:06:21

标签: firefox firefox-addon firefox-addon-sdk

您好我正在尝试开发一个简单的插件,在新标签页面中打开与firefox默认页面不同的网页。我想更改about:config中的两个默认设置值,但似乎我无法通过当前配置实现此目的。

我正在使用firefox推荐的附加SDK来开发插件。(creating a simple add-on using the SDK

通过查看about:config设置,我发现如果我将“browser.newtab.url”设置为网页url,并将“moa.ntab.openInNewTab”设置为true,则可以实现此功能。所以我按照上面的教程添加了./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"
}

你能否告诉我在完成这些简单的功能时可能会出现什么问题或者我可以遵循什么...非常感谢你!

1 个答案:

答案 0 :(得分:1)

正如第一条评论所述,请参阅sdk/preferences/service的文档。

这是一个简单的例子:

var name = "extensions.checkCompatibility.nightly";
require("sdk/preferences/service").set(name, false)