使用内容脚本中的“简单首选项”打开插件的选项页

Open options page of addon using `simple-prefs` from content script

本文关键字:简单首选项 选项 插件 首选项 简单 脚本      更新时间:2023-09-26

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

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

我试过一些老方法。例如,使用这样的URL:addons://detail/ADDON_ID/preferences。或者官方文件中的这种方法。但它们似乎都不起作用。

我该怎么做?这可能吗?

首先,您不能直接从内容脚本中打开它。您必须使用端口API从您的内容脚本向您的扩展发送一条消息,这在内容脚本中看起来像这样:

self.port.emit("openPrefs");

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

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