使用内容脚本中的`simple-prefs`打开addon的选项页面

时间:2015-03-30 13:22:51

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

我有一个使用simple-prefs的插件。插件使用PageMod修改了一些网页。

我想添加一个指向这些网页的链接,这将打开插件选项。基本上,我需要的是Chrome中使用的chrome.extension.getURL('options.html');版Firefox。

我尝试了一些旧方法。例如,使用以下URL:addons://detail/ADDON_ID/preferences。或者来自官方文档的this method。但它们似乎都不起作用。

我该怎么做?它甚至可能吗?

1 个答案:

答案 0 :(得分:3)

首先,您无法直接从内容脚本中打开它。您必须使用port API将内容脚本中的消息发送到您的扩展程序,在您的内容脚本中看起来像这样:

self.port.emit("openPrefs");

在您的附加模块中,您有对PageMod对象的引用(我假设它已保存在pageMod变量中),然后您使用(未记录的)sdk / preferences打开首选项页面/ utils模块:

var self = require("sdk/self");
var { open } = require("sdk/preferences/utils");
pageMod.port.on("openPrefs", function() {
  open({ id: self.id });
});