【问题标题】:Options page in new Firefox WebExtensions API新 Firefox WebExtensions API 中的选项页面
【发布时间】:2016-03-06 10:09:43
【问题描述】:

有没有办法在新的 Firefox WebExtensions API 中编写插件选项页面?

例如谷歌浏览器支持清单键"options_page" 我搜索了文档和 wiki,但在这一点上找不到任何东西。

【问题讨论】:

  • 您需要在 UI/行为方面从“选项页面”中解释您想要什么
  • @Xan,选项页面是一种允许用户自定义扩展行为的方式。选项页面可以在 manifest.json 中声明。页面本身是html+js来持久化插件的选项。
  • 用户如何发现/打开它? (我完全知道它在 Chrome 中是如何工作的,但我试图哄骗你在 FF 中想要哪些部分)
  • @Xan,Firefox WebExtensions 旨在尽可能与 Chrome 扩展程序兼容,为 Chrome 浏览器编写的扩展程序应在 Firefox 上运行,只需进行最少的更改。据我了解 WebExtensions 何时发布,所有 firefox 插件都应该使用新方法重新实现。拥有相同的“选项页面”内容会非常好,但我在文档link 中找不到任何内容
  • 我的意思是,关于选项页面,有许多 UI 内容可能无法直接转换为 Firefox。似乎目前不支持它,但如果您可以列出您想要的功能(最好按用例),有人可以提出解决方法。

标签: google-chrome firefox google-chrome-extension firefox-addon-webextensions


【解决方案1】:

随着 WebExtension 支持的扩展,此答案已过时。

请参阅 MDN 上的 Implement a settings page(请先投票 this answer 以提供此链接)。


目前似乎不支持 "options_page" 清单密钥。

它的主要用途是提供选项页面的 UI 可发现性;例如,在扩展列表中指向它的链接。

如果您要移植现有的扩展程序,则需要在扩展程序中添加一些其他 UI 以打开页面(例如,如果扩展程序有一个链接,则在弹出窗口中添加一个链接)。您可以使用chrome.tabs.create 打开它,就像打开任何页面一样,它的工作原理是一样的。

一点警告:如果扩展程序使用OptionsV2-提供的 CSS 样式,您需要弥补它的缺失。

另一个警告:chrome.runtime.openOptionsPage() 函数在 Firefox 中不可用,应替换为 shim using chrome.tabs

【讨论】:

    【解决方案2】:

    在您的manifest.json 中使用options_ui 键。 MDN 上有关于如何执行此操作的很好的指南 - Implement a settings page

    【讨论】:

      【解决方案3】:

      “options_page”和“options_ui”都将在 Firefox WebExtensions 中实现!

      这是跟踪进度的链接http://arewewebextensionsyet.com/#options

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-12-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多