Chrome 120 的 Beta 版現已推出,其中包含許多 Chrome 擴充功能開發人員會感興趣的更新。
今年 Chrome 擴充功能團隊非常忙碌,昨天推出的 Chrome 120 Beta 版,讓擴充功能平台又向前邁進一大步。如要瞭解今年發生的事件,請參閱7 月和 10 月的季度更新。請繼續閱讀,瞭解 Chrome 120 版擴充功能的新功能。
消弭平台差異
隨著 Chrome 120 的推出,我們將解決Manifest V3 已知問題頁面中列出的其他平台差異。新的 userScript API 和 ChromeOS 檔案處理支援功能,是我們清單上剩下的兩項項目,現在我們終於可以勾選這兩項項目了。除了這兩項項目外,我們在先前的季度更新中也提到了一些變更,我們很高興 Chrome 擴充功能平台目前的狀態,以及我們在過去一年中所達成的成就。
新的 userScripts API
使用者指令碼支援功能現已推出!使用者指令碼是 (通常較小的) 程式碼片段,擴充功能可將其插入網頁,藉此修改網頁的外觀或行為。使用者可以直接建立這類指令碼,也可以在網路上的多個使用者指令碼存放區中找到。自 Chrome 120 起,Manifest V3 擴充功能現在可以管理使用者指令碼的收集作業,並決定在網頁上插入指令碼的時間和方式。
Manifest V2 和 Manifest V3 對使用者指令碼的支援方式有一個重大差異。由於使用者指令碼功能強大,且需要對使用者指令碼作者高度信任,Chrome 團隊決定使用者必須選擇啟用開發人員模式,才能執行使用者指令碼。
我們新的 userScript 範例示範了一種簡單的方法,可用於偵測是否已啟用開發人員模式,並提供簡單的新手上路流程。
提高靜態 DNR 規則限制
我們大幅提高啟用靜態規則集的上限,從 10 個增加到 50 個。此外,我們也將允許的靜態規則總數從 50 個增加到 100 個。這是我們對網頁擴充功能社群群組收到的意見回饋做出的回應。
新版 ReadingList API
Chrome 在 2021 年推出閱讀清單。去年,Chrome 團隊讓使用者更輕鬆地透過側邊面板存取閱讀清單。在 Chrome 120 中,我們新增了 Chrome 擴充功能的建立、讀取、更新和刪除閱讀清單項目功能。如需更多資訊,請查看 API 說明文件和新範例。
ChromeOS 上的檔案處理
檔案處理功能可讓擴充功能以與網頁平台檔案處理類似的方式,開啟指定 MIME 類型和副檔名的檔案。如要進一步瞭解如何使用這個功能,請參閱「ChromeOS 上的檔案處理功能」。
在 30 秒後觸發鬧鐘
這項更新雖然規模不大,但解決了服務工作者生命週期中的重要缺口。由於 Service Worker 是事件驅動型,因此建議您在日後觸發事件時使用 chrome.alarms
。Alarms API 可確保即使服務工作程式在該期間關閉,事件仍會觸發。
不過,請特別留意在 Chrome 120 之前,觸發鬧鐘的時間間隔最短為一分鐘。不過,服務工作者會在閒置 30 秒後關閉。因此,如果使用 setTimeout()
在 45 秒內設定事件,服務工作者可能會在事件觸發前關閉,因此無法直接安排在 45 秒內觸發鬧鐘。
自 Chrome 120 起,您可以在下列位置觸發事件:
- 使用
setTimeout()
時,長度不得超過 30 秒。 - 使用
chrome.alarms
的 30 秒以上廣告:
await chrome.alarms.create('demo-default-alarm', {
periodInMinutes: 0.45
});
摘要
我們很高興看到擴充功能平台在過去一年的進展。Chrome 120 是另一個重大進展,因為它提高了 DNR 限制和使用者指令碼支援功能。