※ 引述《danny0838 (道可道非常道)》之铭言:
: ※ 引述《ettoolong (ettoolong)》之铭言:
: : 2022 一月 17 日开始
: : 开发者无法再上传新的 v2 版套件(非公开套件除外)
: : 开发者仍可更新现有的 v2 版套件
: : 使用 background service workers 替代 Background pages,
: : 大部份的套件的 background script 需重写. Firefox 将跟进此变动.
: 比较麻烦的是 service worker 无法执行 DOM 运算,
: 可能要自己做一个虚拟 DOM libraray...
这里有更多资讯:
https://github.com/w3c/webextensions/issues/51
看来 background page 强制改 service worker 的问题比想像中大得多:
* service worker 在闲置时会自动卸载,而一但卸载,将无法持续监听网络或事件。
比如 WebSocket 会废掉,本地程式的讯息在卸载时也无法接收。
本来加载到内存的资料不断卸载再重新加载也会更耗运算资源。
* 再来就是一大堆 API 不能用,比如 DOMParser、XMLHttpRequest、
URL.createObjectURL、剪贴簿等等。
而改成 service worker 带来的效益有什么?几乎看不出来......
Google 现在正在做一件比 Firefox 57 更极端、更残暴的事,
Firefox 57 至少是在 WebExtension API 已相当完善,
大部分重要套件技术上可移植的情况下才停止支援旧版套件系统。
而 Google 现在是在 MV3 还一堆争议、API 还一堆未修 bug 的情况硬上,
逼开发者和使用者吞下去(其实根本吞不下去,功能没有就是没有...),
就等著看看 Fx 56 => 57 和 GC MV2 => MV3 何者流失的使用者多吧...。