我正在尝试在Firefox(带有WebExtension)的书签菜单中添加上下文菜单项。我阅读了contextMenus.create()文章,该示例对我有用。

有一堆context types,但似乎在书签菜单中没有起作用。这不可能吗?

最佳答案

WebExtension当前无法实现您期望的功能。通常,如果WebExtensions中需要的功能尚不存在,则可以:

  • File a Request For Enhancement(错误),请求该功能。在将项目添加到书签上下文菜单的情况下,已经存在这样的错误:Bug 1370499: Consider support for bookmark context menus。此跟踪错误的总体方向是,将在某个时间点将条目添加到书签上下文菜单中。
  • 创建WebExtension experiment:您可以创建一个WebExtension实验来实现该功能。如果您创建了WebExtension实验,则可以请求将其集成到Firefox中(可能会或可能不会发生)。进行WebExtension实验将使您更有可能按照自己的意愿实现某些事情,因为这样做可以减少Mozilla开发人员所需的时间。由于WebExtension实验实际上是旧版附件,因此从Firefox 57发行版(2017-11-14)起,它们将无法在Firefox中运行。

    在Firefox Nightly中,默认情况下会禁用WebExtension实验支持(通常是旧版加载项)。但是,在Nightly中,您可以启用about:config首选项extensions.legacy.enabled,它允许您使用旧式扩展,包括WebExtension Experiments。预期在Developer Edition中也是如此,但尚未经过验证。 WebExtension实验和旧版附件当然在Firefox 57的发行版中将不起作用。

  • 可能会增加在Firefox中添加某些功能的机会的一件事是,仔细研究Chrome扩展程序中的功能。如果有一个Chrome extension API与您所需的内容非常匹配,那么Mozilla更有可能实现它。

    不幸的是,其他类型的扩展中有大量功能可用,这在WebExtensions中是无法实现的(至少当前,并且几乎所有功能都是永久性的),但是有可能实现任何特定功能。至少在有限的范围内(例如Sidebars)已经实现了一些最初不支持的功能。

    09-25 16:57