來源:三易生活
作為如今全球最流行的瀏覽器,Chrome 有著數以億計的用戶,如果再算上谷歌主導下開源的 Chromium 生態,幾乎已經覆蓋了超過全球網民的四分之三。就像谷歌方面在 Android 上的每一次改動一樣,Chrome 上的變革也同樣牽動人心。
眾所周知,作為現代瀏覽器的 Chrome 之所以 " 現代 ",靠的就是豐富多彩的擴展,可如今谷歌要對 Chrome 的擴展 " 動刀 " 了。
日前在 Chrome 的開發者博客中,谷歌產品經理 David Li 詳解描述了 Manifest V3 迭代的更多細節。據他的說法,原計劃將于 2023 年 1 月上線的 Chrome Manifest V3 被推遲到明年 6 月實施,到明年 6 月的 Chrome M115 版發布后,將變更為所有擴展都必須及時更新到 Manifest V3 版本。
Manifest V3 到底是什么,它又為什么會被推遲實裝呢?其實對于 Chrome 來說,manifest.json 是擴展的配置文件,其指明了擴展的各種信息,而 Manifest V3 則是一個 API,它規定了一個符合標準的擴展究竟應該是什么樣子。簡單來說,Manifest 之于 Chrome 開發者,就與蘋果 App Store 的審核指南之于 iOS 開發者一樣,為 Chrome 的擴展制定了規則。
就像每一次蘋果方面更新 App Store 審核指南都會引發爭議一樣,谷歌推出 Manifest V3 同樣也伴隨著諸多的爭議,但這也很好理解,畢竟每一次改變現狀都代表著既得利益者想要維持現狀的意圖落空。
事實上,Manifest V3 是谷歌方面在 2019 年的 Chrome 開發者峰會上提出的。也就是說即便是在 2023 年 6 月實施,也花費了 4 年時間,這也足以證明其在開發者社區中的爭議性。
而 Manifest V3 在 Chrome 的開發者群體中備受爭議,其實與谷歌在這一版本上想要實現的效果息息相關。作為瀏覽器擴展自十年前推出以來最大的轉變之一,Manifest V3 號稱更能夠提升安全、隱私,以及瀏覽器性能,并將限制擴展的功能,尤其是那些旨在監視、修改和瀏覽器與用戶訪問的網站間交互的功能。然而相比于 Manifest V2,谷歌在 Manifest V3 上進行的改變卻與所宣稱的更安全、更能保護隱私背道而馳。
比如說,谷歌提出為了保證瀏覽器的安全性,用來查看、修改或阻止瀏覽器請求的 webRequest API,將會被效能有限的 Declarative Net Request API 取代。但 webRequest API 最核心的用途就是攔截網頁上的廣告,并被 AdBlock 等廣告攔截工具廣泛使用,開發者通過該 API 寫入攔截瀏覽器請求的規則、分辨廣告請求地址,以達到幫用戶攔截瀏覽器發送含有廣告內容的請求。
經過無數開發者的不斷努力和維護,目前最新的廣告過濾規則包含注釋在內一共接近 9 萬條,無限制寫入攔截規則的 webRequest API 讓廣大用戶避免了被無孔不入的瀏覽器廣告騷擾。但根據開發者的反饋,Declarative Net Request API 的過濾條目限制為 3 萬條,這就意味著當前主流的廣告攔截工具使用的規則必然會有大部分失靈、攔截效果會大打折扣,用戶未來想要不看廣告的難度自然也就更高了。
打著為用戶安全著想的大旗、行的卻是讓用戶要看更多的廣告,這顯然很契合作為全球最大數字廣告巨頭谷歌的商業利益。當然,由于 webRequest API 的改動實際上只影響了消費者和廣告攔截工具的開發者,所以它的影響還不算很大。真正讓所有開發者沸反盈天的則是這樣一條新規,那就是為了提高安全性、并保護用戶免受惡意軟件的侵害,谷歌在 Manifest V3 上阻止來自外部的遠程托管腳本被擴展使用。
這一規定影響的是大名鼎鼎的油猴插件,也就是 GreasemonkeyTampermonkey。而這個插件的功能其實很簡單,它就是一個可以安裝腳本的擴展,有了這個 " 工具箱 ",用戶才能往里面放各種 " 工具 ",有了這些 " 工具 ",Chrome 瀏覽器才能擁有各種功能。換而言之,油猴插件就相當于是 Android 系統里的微信,腳本就等同于微信小程序。
那么問題就來了,絕大多數用戶是不具備自己動手寫腳本的能力,所以需要開發者提供的腳本,但導致了油猴一部分核心功能失效的就是加載遠程腳本。Manifest V3 不允許擴展加載遠程腳本,幾乎就等同于讓油猴迎來滅頂之災。如果說廣告攔截擴展的效果打折扣用戶忍忍就過去了,但是擴展不能加載腳本,幾乎就意味著 Chrome 的擴展生態要面臨重新洗牌,開發者需要想其他的方法來實現同樣的功能。
所謂另外的方式,其實就是將腳本托管在谷歌的服務器上,這等于是逼著開發者都必須注冊谷歌開發者賬戶、并交納注冊費才能確保油猴等擴展的正常使用。在開發者看來,這就是在強制向谷歌付費了,顯然是不能忍的。