2

Firefox 正在朝着WebExtensions标准发展,该标准承诺提高稳定性、跨浏览器兼容性和更高的安全性。同时,他们逐渐放弃了对遗留插件(引导扩展、插件 SDK 等)的支持。

不幸的是,WebExtension API 的功能远不如旧版附加组件强大,后者相比之下可以完全控制浏览器。我完全理解切换的动机,但我的附加组件提供的功能不可能与 WebExtension 的有限功能一起使用。

我有哪些选择可以继续开发尽可能少的削减的遗留插件?其他不能作为纯 WebExtension 工作的附加组件如何解决这个问题?是否有任何专门用于维护某种遗留扩展“hack”的利基项目,或者我是否必须自己大量修改 Firefox 才能在将来安装任何遗留附加组件?

(我知道我将无法将我的插件提交给 AMO 或让 Mozilla 对其进行签名,并且支持完整扩展是一个潜在的安全风险。但由于我的插件针对的是精通技术的受众,我不太关心中等复杂的解决方法。)

4

3 回答 3

2

正如魔术 8 球所说:“现在无法预测”。

现实情况是,我们还不知道在 Firefox 57 发布之后继续运行基于非 WebExtensions 的附加组件需要什么。我们所知道的是,Mozilla 已经声明对于 Firefox 57:

  • Firefox 只会运行 WebExtensions。
  • AMO 将继续支持在 57 发布后列出和更新旧版附加组件,以便更轻松地过渡。此支持的确切截止时间尚未确定。

之前曾说过,仅限 WebExtensions 的限制仅适用于 Release 和 Beta 渠道,因此:

可以继续在以下位置运行基于非 WebExtension 的附加组件:

目前尚不清楚这些是否真的有可能。如果它们是可能的,则尚不清楚旧的附加组件可以运行多长时间(这都是由于对 Firefox 的更改和/或有意禁用的非 WebExtensions)。AMO 将继续支持非 WebExtension 附加组件的列表和更新这一事实是一个令人鼓舞的迹象,表明我们仍然能够在不是主要发布和 Beta 渠道的 Firefox 版本中使用它们。

其他选项包括:

  • Firefox ESR 52版本。模式是,这将通过 Firefox 60 的正常版本得到支持,或者如此。就个人而言,我认为 Mozilla 应该计划在功能发生任何重大变化之前发布 ESR 版本(即拥有 Firefox 56 ESR),但这似乎不是 Mozilla 的做法。
  • 由 Firefox 组成的各种分支。必须检查每个分叉,以了解他们对此更改的计划。
  • 任何专门为继续支持非 WebExtension 附加组件而制作的新分支。
  • 黑客可能会确定重新启用非 WebExtension 支持,类似于现有的禁用插件签名检查的支持

您应该记住,计划是让 Firefox 在未来发生根本性的变化。放弃功能更强大的附加组件类型(基于非 WebExtensions 的扩展以及完整主题)的一个重要原因是允许更改 Firefox,而无需考虑与依赖于功能更强大的附加组件保持兼容性。 Firefox 的内部操作。确切地说,这些重大变化何时推出尚不清楚。

就个人而言,我在一条类似的船上。我发布的所有附加组件都无法迁移到 WebExtensions。我使用的许多其他附加组件显然无法迁移到 WebExtensions。坦率地说,我不期待在没有这些附加组件提供的功能的情况下使用 Firefox。因此,当我们接近 Firefox 57 时,我将继续研究可用的选项。

但是,即使在 Firefox 52 ESR 停产后我找不到使用功能更强大的附加组件的选项,我也可能会继续使用 Firefox。我这样做而不是切换到 Chrome 的主要原因是 Firefox 扩展程序经过审查过程,而从安全和隐私的角度来看,通过 Chrome 商店发布的 Chrome 扩展程序可能非常糟糕。

于 2017-03-02T19:14:16.213 回答
2

关于你的问题:

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

除了前面所说的 FF52ESR,至少还有 2 个基于 Firefox 代码的活动项目,它们专注于保持与旧扩展的兼容性。

  • Waterfox 56(更新并与旧版插件和网络扩展兼容)

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

另一方面,你有Palemoon 27.x,它仍然受到支持,但它基于 Australis FF 之前的界面,因此它将与旧的遗留插件兼容。

于 2018-04-27T08:02:08.590 回答
1

下载并安装最新的 Nightly Firefox ( https://www.mozilla.org/en-US/firefox/58.0a1/releasenotes ) (您可以右键单击图标,点击属性,然后添加 -no-remote -p 到目标地址,如 "C:\Program Files\Nightly\firefox.exe" -no-remote -p 这将使您能够使用多个配置文件)

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

将“无论如何”最新的 TMP 开发版本(https://addons.mozilla.org/en-US/firefox/addon/tab-mix-plus/versions/0.5.0.5pre.171027a1)下载到您的下载文件夹(因为 Nightlty 不会正常安装它),然后在文件下转到打开文件并导航到下载文件夹中的那个文件(带有 /xpi 扩展名),然后安装它,然后重新启动 Nightly。

这不太可能适用于标准的 Firefox 57+ 版本,但 TMP 开发人员正在处理 require 重写。愿上帝帮助他。

于 2017-11-06T14:21:28.150 回答