在去年 5 月,Mozilla 就曾发文表示 Firefox 将支持 Google 的 Manifest V3 规范,以保持兼容性并支持扩展跨浏览器开发。近日,Mozilla 宣布已在 Firefox 浏览器的开发版本中引入了 Manifest V3 Preview,并计划在 2022 年底正式引入对 Manifest V3 扩展的支持。
Manifest V3 代表了扩展平台自十年前推出以来最大的转变之一。使用 Manifest V3 的扩展将在安全性、隐私和性能方面获得增强。但 Manifest V3 却在一定程度上对广告拦截扩展产生了很多不利影响,在 Manifest V2 中有一个 API 允许扩展程序拦截传入的网络数据,并在相应的内容在浏览器上显示之前就对其进行处理/过滤。
然而在 Manifest V3 中,Google 使用 "declarativeNetRequest API" 取代了 V2 中的那个强大而有效的 API。这一变化使得广告拦截器会面临毫无用武之地的尴尬处境,广告拦截器在 Manifest V3 下将不得不扮演一个旁观者的角色,而不是网络流量的看门人。
Firefox 扩展不会受到 Manifest V3 的限制
虽然 Mozilla 计划在 Firefox 中引入对 Manifest V3 的支持,但它不会删除对隐私扩展至关重要的 API 的支持。只要开发者继续支持,广告拦截器和其他隐私保护扩展程序将继续在 Firefox 中发挥作用。
Mozilla 在博客中表示:
移除 WebRequest API 的拦截部分,用限制性的 declarativeNetRequest API 取代它的决定是十分具有争议的。新的 API 限制了「某些类型的隐私扩展的功能,而没有充分的替代方案」。
因此 Mozilla 将在 Firefox 中保留 WebRequest API,以确保隐私扩展在提供它们所设计的功能方面不受限制。根据该博客文章介绍,Mozilla 同样也会实施 declarativeNetRequest API,以实现兼容性。
Mozilla 将继续与内容拦截器和该 API 的其他主要开发者合作,以酌情确定当前和未来的替代品。Firefox 还将在 Manifest V3 中支持 Event Pages,并在未来的版本中引入对 Service Workers 的支持。
开发者预览
开发人员可以通过以下方式在 Firefox 开发版本中打开 Manifest V3 Preview 功能。
- 在网页浏览器的地址栏中加载 about:config
- 搜索 extensions.manifestV3.enabled,并通过点击切换将偏好设置为 TRUE
- 搜索 xpinstall.signatures.required,并将该偏好设置为 FALSE
- 重新启动 Firefox
参考
Google 作为 Manifest V3 的制定者,他们针对 Chrome 设定的 Manifest 时间表如下:
- 从 2022 年 1 月 17 日,Chrome Web Store 将不再接受使用 Manifest V2 方法所构建的新扩展,但对现有扩展的更新仍然可以提交。
- 一年后,即 2023 年 1 月,Chrome 浏览器将不再支持 Manifest V2 扩展,并且也不再支持更新。
Google 最早于 Chrome 88 中引入了对 Manifest V3 的支持,并在今年 3 月发布的 Chrome 99 中弃用了 Manifest V2,暂时还没有移除 Manifest V2。