我有一个基于xul叠加层的Firefox附加组件,可以使用。它具有在content / options.xul中定义的内联选项,当用户访问Firefox->附加组件 - >扩展 - > {我的扩展名称} - >选项
问题是,我可以在我的附加组件上创建一个按钮来启动我的选项,方法是将用户带到Firefox->附加组件 - >扩展程序 - > {我的扩展名称} - >单击选项或通过基于options.xul启动对话框
现在我正在维护一个单独的options.html和options.js,它们获取并设置options.xul在用户通过Firefox按钮导航时处理的相同设置,但我更倾向于转储options.html和选项。 js并且只维护我的main.js和options.xul。
非常感谢任何评论或代码示例。
答案 0 :(得分:4)
这是最容易通过浏览器窗口中定义的全局函数BrowserOpenAddonsMgr()
,如下所示:
BrowserOpenAddonsMgr("addons://detail/" + encodeURIComponent(addonID));
此功能负责聚焦现有的附加组件选项卡(如果有)或打开新选项卡。它不会向下滚动到选项,但如果加载项具有冗长的描述,则这是一个问题。从Firefox 12开始,可以通过向视图标识符添加“/ preferences”来解决这个问题:
BrowserOpenAddonsMgr("addons://detail/" + encodeURIComponent(addonID) + "/preferences");
对于较旧的Firefox版本,你运气不好(你不应该在那里使用这个后缀,它将无法工作)。另一个问题是可能存在冗长的“加载”阶段,其中加载项管理器为所有扩展提取元数据。