※ 引述《ettoolong (ettoolong)》之铭言:
: 有关 Manifest v3 的更新, 相信 Chrome 套件开发者前阵子
: 应该都收到 Google 的通知信了,不过我看这边还没有人转贴,
: 所以我就在这边帮大家整理一下.
: 2022 一月 17 日开始
: 开发者无法再上传新的 v2 版套件(非公开套件除外)
: 开发者仍可更新现有的 v2 版套件
: 2022 六月开始
: 开发者无法再上传任何新的 v2 版套件
: 开发者但仍可更新现有的v2版套件
: 2023 一月开始
: 开发者无法再上传/更新 v2 版套件(非公开套件除外),
: Chrome 无法再执行 v2 版套件(企业版除外)
: 2023 六月开始
: Chrome 无法再执行 v2 版套件
: 参考资料: 2021-09-23
: https://developer.chrome.com/docs/extensions/mv3/mv2-sunset/
: Firefox 方面, 其实还没有给出明确的时程,
: 目前已知:
: 2022 年初开始接受上传 v3 版套件 (可能延期)
: 目前还没有决定 v2 停用的时间点,
: 但预计在 v3 版在 release channel 中稳定后, 持续支援 v2 一年
: 对 Chrome 在 v3 版中的改动, Firefox 在 v3 中将跟进部份的修改:
: cross-origin protections, 此修改影响 content script 对跨站点资源的存取,
: 其他不变.
目前的套件审核政策几乎就已经做同样的事了,影响不大。
: 使用 background service workers 替代 Background pages,
: 大部份的套件的 background script 需重写. Firefox 将跟进此变动.
比较麻烦的是 service worker 无法执行 DOM 运算,
可能要自己做一个虚拟 DOM libraray...
: Chrome 和 Firefox 在 WE 的API 设计上一直有一个差异,
: 就是 Firefox 多支援一个 Promise-based 的版本,
: 这点在 v3 版中将继续支援.
以后写跨浏览器套件可以不用 webext-polyfill 了,唯一值得高兴的改动。
但是 Chrome 还是不让 sendMessage 和 storage 像 IndexDB 一样支援
传送 Blob 等物件,只能黑了。
: Host permission controls, 在 Chrome 可以设定
: 只开放特定的 host permission 给套件,
: Firefox 将跟进此设计, 目前实验中.
: 执行动态产生的程式码, Chrome 在 v3 中对此作了更多限制来提高安全性,
: Firefox 将跟进此设计.
Monkey 已死
: declarativeNetRequest (DNR) 和 blocking webRequest API,
: 主要影响到挡广告的套件,
: Firefox 会支援新的 DNR, 同时保留支援原有的 blocking webRequest API.
Chrome 是支援,但是必须用系统管理员权限设定强制安装套件,
用这种方式安装的套件会对所有 Chrome 使用者生效,且无法停用或移除。
(很适合老板强制监控?)
唉,什么鸟政策...
: 参考资料: 2021-05-27(有点久了, 但好像一直没有新资料, 我也没有特别再去找)
: 如果有更新的资料欢迎提供 m(_ _)m
: https://blog.mozilla.org/addons/2021/05/27/manifest-v3-update/
唉,强迫开发者1年半全面改写程式码,而且无法向下相容旧版浏览器。
果然是全面执政全面堕落(?)...
不晓得开发者集体抵制有没有用...