Javascript 使用内容脚本中的“simple prefs”打开插件的选项页

Javascript 使用内容脚本中的“simple prefs”打开插件的选项页,javascript,firefox,firefox-addon,firefox-addon-sdk,Javascript,Firefox,Firefox Addon,Firefox Addon Sdk,我有一个插件正在使用。该插件使用修改某些网页 我想添加一个链接到这些网页,这将打开插件选项。基本上,我需要的是在Chrome中使用的Firefox版本 我试过一些老办法。例如,使用如下URL:addons://detail/ADDON_ID/preferences。或来自官方文件。但它们似乎都不起作用 我该怎么做?甚至可能吗?首先,您不能直接从内容脚本打开它。您必须使用从内容脚本向扩展发送消息,在内容脚本中类似于: self.port.emit("openPrefs"); 在附加模块中,您有对

我有一个插件正在使用。该插件使用修改某些网页

我想添加一个链接到这些网页,这将打开插件选项。基本上,我需要的是在Chrome中使用的Firefox版本

我试过一些老办法。例如,使用如下URL:
addons://detail/ADDON_ID/preferences
。或来自官方文件。但它们似乎都不起作用


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

首先,您不能直接从内容脚本打开它。您必须使用从内容脚本向扩展发送消息,在内容脚本中类似于:

self.port.emit("openPrefs");
在附加模块中,您有对PageMod对象的引用(我假设它保存在PageMod变量中),然后使用(未记录的)sdk/preferences/utils模块打开preferences页面:

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

像这样的@Noitidart No.我的插件使用SDK,使用JPM构建,选项页面由
simple prefs
模块生成。它工作正常。非常感谢。作为将来的参考,我如何了解FirefoxSDK中未记录的功能?你从哪里学来的?我经常在irc.mozilla.org上的#jetpack频道学习,如果你有问题,开发人员也会给你一些提示,如果他们在附近的话。进一步看源代码()。