※ 引述《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 何者流失的使用者多吧...。