Skip to content

Firefox WebExtensions

fang5566 edited this page Aug 11, 2017 · 29 revisions
暂定时间表 7 月 19 日 8 月 22 日 10 月 3 日 11 月 14 日
Firefox 正式版: Firefox 54 Firefox 55 Firefox 56 Firefox 57
AMO 开发通道 混合型
uBO/webext
uBO/webext
AMO 稳定通道 混合型
uBO/webext
uBO/webext
阻碍性问题 1367494
非阻碍性问题 1313401

在 uBO/webext 稳定版发布之前本文会时常更新。

首次安装

uBO/webext-hybrid 版本首次执行时你可能会明显感到延迟(几秒钟),这是由于 uBO/webext-hybrid 会从旧版导入所有存储数据到 webext 版。但它只会在 uBO/webext-hybrid 首次执行时发生,此后这个导入步骤将会被跳过。

如果你随后卸载了 uBO/webext-hybrid,那么 Firefox 也会移除扩展的 webext 存储数据,一旦你再次安装 uBO/webext-hybrid 版本,导入也将再次发生。

注意 uBO/webext-hybrid 在 about:addons 里仍会被标记为“旧式”,因为 uBO/webext-hybrid 是一个真正的内嵌式 WebExtension 扩展。一旦首次安装时旧式存储数据被 thin legacy wrapper 导入,uBO/webext-hybrid 运行起来就完全和纯 webext 版本一样,尽管它仍标记为“旧式”。

旧式存储数据会被 uBO/webext-hybrid 原封不动保留,所以如果你短期之内不想使用 webext-hybrid 版,你都还是可以回到 uBO/legacy(旧版稳定版)。

Firefox for Android

根据文档说明,只有到了 Firefox 55 (beta) 版本你才可以打开 uBO 的弹出面板。

然而似乎还有一个影响 Firefox for Android 55 下 webext 扩展安装的问题出现,浏览器会认为扩展是损坏的 -- 这不是只在 uBO/webext 版本安装时出现。因此现阶段Firefox 的 Android 版本最好还是停留在 uBO/旧版上。 更新: 该问题已修复: https://bugzilla.mozilla.org/show_bug.cgi?id=1367494。

与 uBO/legacy 的区别

  • script:contains 过滤规则会失效
    • uBO 自带的规则列表早就停止依靠这种规则语法解决所报告的过滤问题。
  • 修饰规则不再使用浏览器的用户样式 已在 f32868766340e2fb8ec689f4b5683a413de847b6 中修复
  • uBO/webext 访问后台网络请求的能力受到限制,相比之下 uBO/legacy 可以完全访问所有后台网络请求。例如,你无法看到(和屏蔽)其他扩展建立的网络请求。相关的 bug 说明参见:"Support moz-extension: urls in MatchPattern".

暂定时间表

如上所述,当前版本的 uBO/webext-hybrid 是一个 真正 的内嵌式 WebExtension 扩展。而完全 webext 版本的 uBO,也就是 uBO/webext 目前可在 Releases 版块下载到。

uBO/webext 的稳定版必须要在 Firefox 57 正式版发布时提供给所有用户。

当然因为一些实际的理由,uBO/webext 的稳定版得在 Firefox 57 正式版到来前出现在 AMO。

所以我打算试着这么做:在 Firefox 57 的前一个正式版发布 uBO/webext 的稳定版,也就是 Firefox 56 正式版。

然而,在将 uBO/webext 带到 AMO 的稳定通道之前,我必须先发布一个 uBO/webext-hybrid 版本,这是无缝转换到 uBO/webext 的必要步骤。再说,在 Firefox 56 的前一个版本,也就是 Firefox 55 正式版到来时就先发布一个 uBO/webext-hybrid 版也是合理的。

下面是未来几个 Firefox 正式版的发布日期,来自于 RapidRelease/Calendar:

  • Firefox 55:8 月 8 日
  • Firefox 56:9 月 26 日
  • Firefox 57:11 月 14 日

下面是理想情况下的扩展发布计划:

  • 8 月 8 日 + 2 周
    • uBO/webext-hybrid 版本发布到 AMO 的稳定通道
    • uBO/webext 发布到 AMO 的开发通道
  • 9 月 26 日 + 2 周
    • uBO/webext 发布到 AMO 的稳定通道

但这只是理论上的情形:

  • uBO/webext-hybrid 版本还未准备好提供给 Firefox for Android:
    • Firefox for Android 54:无法访问弹出面板或控制面板。
    • Firefox for Android 55 (beta):会出现“从 addons.cdn.mozilla.net 下载的附加组件无法被安装,因为它似乎是损坏的”的提示。
    • Firefox for Android 56 (nightly):正常使用。

uBO/legacy 版本的未来

对于所有基于 Firefox 53 及以下版本的 Firefox 及其衍生浏览器,开发通道的 uBO 将无法使用,想继续使用 uBO 开发版本的用户都必须手动安装这里提供的 xpi 版本,或安装 AMO 提供的 uBO 稳定版。

就在写作本文时,我还没有计划停止开发 uBO/legacy 版本。但做一番假设,如果继续维护旧版变得不轻松的话,或许未来某个时候计划会有所改变。

其他

Issue #2795 集合了当前一系列 bugzilla.mozilla.org 上只影响 uBO/webext 版本的问题。

记得备份你的 uBO 设置,如果从 uBO/legacy 转换到 uBO/webext 失败了,你还可以从备份的文件还原所有设置(参见 控制面板的 设置 版块里的备份/还原功能)。

Clone this wiki locally