去年Google發布Chrome API更新Manifest v3的草案,引來不少廣告過濾業者以及開發者的反彈,而Firefox的擴充套件開發者也擔心受到影響,因此要求Mozilla對Manifest v3的內容做出回應,Mozilla表示,目前他們沒有刪除webRequest API的計畫,他們也沒有義務遵守Manifest v3標準,但會實作其中部分標準。

Manifest v3加入了許多不向後相容的修改,擴充套件開發人員需要重新調整軟體,才能使其正常運作,而最具爭議的更改,是Manifest v3將棄用功能強大的webRequest API,這個API讓擴充套件有能力攔截所有流入流出瀏覽器的網路流量,進行阻擋、轉址或是修改。

而用來取代webRequest的新API稱為declarativeNetRequest,這個API限制規則數量以及可用的過濾器和操作,因此影響了內容阻擋擴充套件的功能。Mozilla提到,現在的廣告攔截器機制很複雜,使用多層演算法,不僅可以偵測和阻擋廣告,還能隱藏自己不被廣告網路發現

之後擴充套件仍然可以使用webRequest API,但只能用來觀察,無法進行修改或是阻擋,也就是說,當Google按照計畫在Chrome中使用Manifest v3,則有許多廣告過濾擴充套件,無法繼續提供跟原本相同等級的服務。

雖然維持Chrome以及Firefox的擴充套件相容性很重要,但Mozilla回應提到,Firefox的WebExtensions API在許多部分已經與Manifest v2脫離,但他們仍會評估Manifest v3帶來的影響,並實作部分標準。在開發者最關心的內容阻擋方面,Mozilla現在沒刪除webRequest的計畫,並且他們正持續與開發者合作,找出更佳支援方式。

而Mozilla預告將會實作Manifest v3的幾項功能,包括跨來源通訊,在Manifest v3中,內容腳本將授與和所注入的頁面相同的權限。另外,雖然Firefox已經不允許遠端程式碼,但Manifest v3中包含了附加技術執行的提案,因此Mozilla也會實作這些措施。

Mozilla提到,Manifest v3仍處於草案階段,還在進行設計與修改,因此他們還無法提供在Firefox中加入Manifest v3功能的精確時間點,不過今年稍晚他們會針對Manifest v3可能的最終版本,進行部分的實作,使用者在Firefox Nightly和Beta頻道可以優先體驗。Mozilla也強調,在確定開發者有具體遷移到Manifest v3的途徑之前,他們不會棄用Manifest v2。


Advertisement

更多 iThome相關內容