Chrome 120 擴充功能的新功能

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 團隊決定使用者必須選擇啟用開發人員模式,才能執行使用者指令碼。

額外資訊頁面
擴充功能頁面 (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 秒內觸發鬧鐘

這是小幅更新,但會解決服務工作站生命週期中重要的落差。由於服務工作人員的事件導向性質,因此建議您日後使用 chrome.alarms 觸發事件。Alarms API 可確保即使 Service Worker 同時關閉,事件仍會觸發。

不過,請特別留意在 Chrome 120 之前,觸發鬧鐘最短的時間範圍為 1 分鐘。不過,Service Worker 會在閒置 30 秒後關閉。目前,目前沒有簡單的方法可將鬧鐘排定在 45 秒內觸發,因為使用 setTimeout() 以 45 秒設定事件時,服務工作處理程序可能會在事件觸發前就關閉。

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

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

摘要

我們很榮幸這項擴充功能平台在過去一年的進展。Chrome 120 是另一個重要步驟,隨著 DNR 限制和使用者指令碼支援增加。