Chrome 120 擴充功能的新功能

Chrome 120 Beta 版現已推出,其中包含許多令人期待的 Chrome 擴充功能開發人員更新。

Chrome 擴充功能團隊今年非常忙碌,隨著昨天的 Chrome 120 Beta 版發布,擴充功能平台又向前邁進了一大步。如要瞭解今年發生的重大事件,請參閱 7 月10 月的季度更新。請繼續閱讀,瞭解 Chrome 120 擴充功能的新功能。

縮小平台差距

隨著 Chrome 120 版發布,我們將解決資訊清單 V3 已知問題頁面列出的其餘平台差異。我們現在可以從清單中劃掉最後兩項:新的 userScript API,以及 ChromeOS 檔案處理支援。連同先前季度更新中說明的變更,我們對 Chrome 擴充功能平台目前的狀態,以及過去一年所完成的成就感到非常滿意。

全新 userScripts API

使用者腳本支援功能已推出!使用者指令碼通常是相對較小的程式碼片段,擴充功能可將其插入網頁,藉此修改網頁的外觀或行為。使用者可以直接建立,也可以在網路上各種不同的使用者指令碼存放區中探索。自 Chrome 120 版起,Manifest V3 擴充功能現在可以管理使用者指令碼的集合,並決定何時及如何將指令碼插入網頁。

在 Manifest V2 和 Manifest V3 中,使用者指令碼支援有一項重大差異。使用者指令碼功能強大,因此使用者必須高度信任指令碼作者,Chrome 團隊才會允許執行。為此,使用者必須先選擇啟用開發人員模式,才能執行使用者指令碼。

額外資訊頁面
擴充功能頁面 (chrome://extensions)

我們的新 userScript 範例示範了偵測開發人員模式是否已啟用,以及提供簡單的新手上路流程。

使用者指令碼的入門流程範例。
在開發人員模式停用時,讓使用者加入。

如要開始使用,請參閱說明文件官方範例

提高靜態 DNR 規則集上限

我們大幅提高已啟用靜態規則集的上限,從 10 個增加至 50 個。此外,我們也將允許的靜態規則集總數從 50 個增加到 100 個。這是我們根據 Web Extensions 社群群組收到的意見回饋所做的調整。

全新 ReadingList API

Chrome 在 2021 年推出閱讀清單功能,去年,Chrome 團隊在側邊面板中新增閱讀清單,讓使用者更容易存取。在 Chrome 120 中,我們新增了 Chrome 擴充功能建立、讀取、更新及刪除閱讀清單項目的功能。詳情請參閱 API 說明文件新範例

Chrome 的閱讀清單顯示擴充功能文件頁面。
Chrome 中的閱讀清單側邊面板。

ChromeOS 上的檔案處理

擴充功能可透過檔案處理功能,開啟具有指定 MIME 類型和副檔名的檔案,方式與網頁平台檔案處理功能類似。如要進一步瞭解如何使用這項功能,請參閱「在 ChromeOS 上處理檔案」。

ChromeOS 上開啟檔案的螢幕截圖,顯示擴充功能對話方塊
在 ChromeOS 擴充功能中開啟檔案。

30 秒後觸發警報

這項更新規模不大,但解決了 Service Worker 生命週期中的重要缺口。由於 Service Worker 是事件驅動型,因此建議使用 chrome.alarms 在未來觸發事件。即使服務工作人員在這段期間關閉,Alarms API 仍可確保觸發事件。

不過,請特別留意相關限制。在 Chrome 120 之前的版本中,觸發鬧鐘的最短時間間隔為一分鐘。不過,服務工作人員會在閒置 30 秒後關閉。因此,無法直接排定 45 秒後觸發的鬧鐘,因為使用 setTimeout() 在 45 秒後設定事件時,服務工作人員可能會在事件觸發前關閉。

從 Chrome 120 開始,您可以在下列位置觸發事件:

await chrome.alarms.create('demo-default-alarm', {
   periodInMinutes: 0.45
 });

摘要

我們很高興擴充功能平台在過去一年取得的進展。Chrome 120 再次邁出重大一步,不僅提高了 DNR 限制,還支援使用者指令碼。