未来如何开发传统Firefox附加组件?

未来如何开发传统Firefox附加组件?,firefox,firefox-addon,firefox-addon-sdk,firefox-addon-restartless,firefox-addon-overlay,Firefox,Firefox Addon,Firefox Addon Sdk,Firefox Addon Restartless,Firefox Addon Overlay,Firefox正在向标准迈进,该标准承诺在稳定性、跨浏览器兼容性和更高安全性方面做出改进。与此同时,他们逐渐放弃了对传统附加组件(引导扩展、附加SDK等)的支持 不幸的是,WebExtension API的功能远不如旧式附加组件强大,而旧式附加组件完全控制浏览器。我完全理解切换的动机,但我的插件提供的功能不可能与有限的WebExtension功能一起工作 我有什么选择来继续开发一个旧的附加组件,并且尽可能少地进行缩减?其他无法作为纯WebExtension工作的附加组件如何解决此问题?是否有专门

Firefox正在向标准迈进,该标准承诺在稳定性、跨浏览器兼容性和更高安全性方面做出改进。与此同时,他们逐渐放弃了对传统附加组件(引导扩展、附加SDK等)的支持

不幸的是,WebExtension API的功能远不如旧式附加组件强大,而旧式附加组件完全控制浏览器。我完全理解切换的动机,但我的插件提供的功能不可能与有限的WebExtension功能一起工作

我有什么选择来继续开发一个旧的附加组件,并且尽可能少地进行缩减?其他无法作为纯WebExtension工作的附加组件如何解决此问题?是否有专门用于维护某种遗留扩展“hack”的利基项目,或者我将不得不自己大量修改Firefox以在将来安装任何遗留附加组件

(我知道我将无法向AMO提交我的附加组件或让Mozilla签署它,并且支持完整的扩展是一个潜在的安全风险。但由于我的附加组件针对的是精通技术的用户,我不太担心中等复杂的解决方法。)

正如上面所说:“现在无法预测”

事实上,我们还不知道在Firefox57发布之后,继续运行基于非WebExtensions的插件需要什么。我们只知道Firefox 57:

  • Firefox将只运行WebExtensions
  • AMO将在57发布后继续支持列出和更新遗留加载项,以便更轻松地过渡。这种支持的确切截止时间尚未确定
此前曾声明,对WebExtensions的限制仅适用于发行版和测试版频道,因此:

可以继续在以下服务器上运行非基于WebExtension的加载项:

  • 非品牌发行版和测试版(未知状态)
目前尚不清楚这些可能性是否真的存在。如果这些都是可能的,那么不清楚旧的附加组件还能运行多久(由于Firefox和/或非WebExtensions的更改被故意禁用)。事实上,AMO将继续支持非WebExtension插件的列表和更新,这是一个令人鼓舞的迹象,表明我们仍然能够在Firefox版本中使用它们,而Firefox版本不是主要版本和测试版渠道

其他选择包括:

  • 这个。其模式是,Firefox 60的正常版本将支持这一点。就我个人而言,我觉得Mozilla应该在功能发生任何重大变化(即Firefox 56 ESR)之前计划推出ESR版本,但Mozilla似乎并不是这样做的
  • 这是由Firefox制成的。必须检查每个fork,以查看他们对该更改的计划
  • 专门为继续支持非WebExtension插件而开发的任何新fork
  • 黑客可能会被确定为重新启用非WebExtension支持,类似于现有的对WebExtension的支持
您应该记住,Firefox的计划是在未来从根本上改变。远离更具能力的附加类型(非基于WebExchange的扩展以及完整主题)的一个重要原因是允许Firefox进行更改,而不需要考虑与依赖于Firefox内部操作的更强大的插件的兼容性。目前还不清楚这些突破性的变化将在何时推出

就我个人而言,我也在一条类似的船上。我发布的任何附加组件都无法移动到WebExtensions。我使用的许多其他附加组件显然不可能移动到WebExtensions。坦白地说,如果没有这些附加组件提供的功能,我并不期待使用Firefox。因此,当我们更接近Firefox57时,我将继续关注哪些选项可用


然而,即使在Firefox 52 ESR退役后,我没有选择使用功能更强大的附加组件,我可能会继续使用Firefox。我这样做而不是切换到Chrome的主要原因是Firefox扩展需要经过一个审查过程,而Chrome商店发布的Chrome扩展从安全性和隐私性的角度来看可能非常糟糕

下载并安装最新的Nightly Firefox()(您可以右键单击图标,点击属性,然后将-no remote-p添加到目标地址,如“C:\Program Files\Nightly\Firefox.exe”-no remote-p将允许您使用多个配置文件)

在about:config(在地址栏中粘贴并按Enter键)中查找extensions.legacy.enabled,右键单击并在中将其切换为true

“无论如何”将TMP的最新开发版本()下载到您的下载文件夹(因为Nighlty通常不会安装它),然后在“文件”下转到“打开文件”并导航到下载文件夹中的该文件(扩展名为/xpi),然后安装它,然后每晚重新启动


这不太可能适用于标准Firefox 57+版本,但TMP开发人员正在进行要求重写的工作。愿上帝保佑他。

关于你的问题:

是否有专门用于维护某种遗留>扩展“hack”的利基项目,或者我必须自己大量修改Firefox,以便在将来安装任何>遗留附加组件

除了前面提到的FF52ESR之外,至少还有两个基于Firefox代码的活动项目专注于保持与遗留扩展的兼容性

  • Waterbox56(已更新并兼容传统插件和webextensions)

  • Basilisk201804(更新并基于FF52,针对v55)

另一方面,你有