請經常查看這個頁面,瞭解 Chrome 擴充功能、擴充功能說明文件或相關政策的異動情形,或其他變更。您可以在 Extensions Google 群組中找到其他通知。Chrome 發布時間表會列出穩定版和 Beta 版的發布日期。
Chrome 132:在開發人員工具中查看及編輯擴充功能儲存空間
從 Chrome 132 開始,您可以在開發人員工具中使用 chrome.storage
API 查看及編輯儲存的資料。詳情請參閱 DevTools 說明文件中的新頁面「查看及編輯擴充功能儲存空間」。
網誌文章:新的額外資訊選單
在 2024 年 Google I/O 大會上,我們分享了擴充功能選單即將進行的變更內容,讓使用者能進一步控管擴充功能可存取的網站。我們很快就會開始測試這些變更,首先會在 Canary 中向少數使用者推出,希望日後能更廣泛地推出這些變更。
我們也推出了 chrome.permissions.addHostAccessRequest()
API。
詳情請參閱這篇網誌文章。
Chrome 132:Tabs API 中的新凍結屬性
自 Chrome 132 版起,Tabs API 中的 frozen
屬性會指出瀏覽器是否已將分頁凍結。傳送至已凍結分頁的訊息會排入佇列,並在分頁解凍時處理。
Chrome 擴充功能中的提示 API
Prompt API for Extensions 現已開放來源試用,您可以在瀏覽器中建構使用 Gemini Nano (我們最有效率的語言模型) 的 Chrome 擴充功能。
加入 Prompt API 來源試用計畫,在 Chrome 131 到 136 之間的版本中執行,並提供意見回饋。您的意見回饋會直接影響我們建構及實作此 API 後續版本,以及所有內建 AI API 的方式。
網誌文章:Chrome 擴充功能最新動態 (2024 年 10 月)
又到了 Chrome 擴充功能的最新消息時間:我們有 AI 整合、新的 API、事件和影片等精彩更新。如要進一步瞭解,請參閱 Chrome 擴充功能十月版新消息!
參加內建 AI 挑戰
Chrome 推出了內建 AI 挑戰賽:歡迎您使用 Chrome 整合的 AI 模型和 API,打造創新的網頁應用程式和 Chrome 擴充功能,有機會贏得總值 $65,000 美元的獎金。
如要瞭解詳情並報名參加,請前往 內建 AI 競賽網站。我們非常期待看到您在網路中注入 AI 技術後,能創造出什麼樣的成果!
Chrome 130:action.onUserSettingsChanged
自 Chrome 130 起,您可以使用 action.onUserSettingsChanged 事件。這項變更是根據 WebExtensions 社群群組的提案所做的調整。感謝 Microsoft 對 Chromium 的貢獻。
Chrome 130:StorageArea.getKeys()
從 Chrome 130 開始,StorageArea 介面可使用 chrome.storage
API 使用的 getKeys() 方法。這項變更是根據 WebExtensions 社群群組的提案所做的調整。
Chrome 128:宣告式網路要求中的回應標頭比對
自 Chrome 128 版起,我們將在宣告式網路要求 API 中新增回應標頭比對支援功能。這是常見的要求,特別是針對 Content-Type 標頭的比對,因此我們與 WebExtensions 社群群組合作,設計了合適的 API。
我們已更新 API 參考資料,加入新的 responseHeaders
和 excludedResponseHeaders
欄位。您可以使用這些方法,檢查特定標頭是否存在,以及其值為何。
在本次更新中,我們在說明文件中新增了「規則評估」一節,說明規則的配對方式。特別是標頭比對,規則只能在收到回應標頭後執行,因此會比其他規則晚一點套用。這表示要求在遭到封鎖或重新導向前,確實已傳送至伺服器。
影片:什麼是內容腳本?
瞭解 Chrome 擴充功能中的內容指令碼,包括如何註冊 CSS 和 JavaScript,以便在特定網頁上執行。觀看完整影片。
重要政策更新
Chrome 線上應用程式商店團隊已在「開發人員計畫政策」頁面發布一系列更新,目的是鼓勵開發人員開發高品質產品、防止欺騙行為,並確保使用者在明確瞭解情況下同意相關內容。Chrome 線上應用程式商店政策管理員 Rebecca Soares 已在 Chrome 擴充功能:重要政策更新網誌文章中總結所有更新內容。
網誌文章:Chrome 擴充功能最新動態 (2024 年 7 月)
過去三個月,我們推出了多項重大更新和新功能,包括開始淘汰資訊清單 2.0 版。歡迎參閱 Chrome 擴充功能最新消息 (7 月),掌握最新動態!
影片:什麼是遠端代管程式碼?
Chrome 擴充功能團隊的 Patrick 說明 Chrome 擴充功能中的遠端代管程式 (RHC) 概念。瞭解為何不再允許使用 RHC、如何偵測 RHC,以及如果需要更新擴充功能時該怎麼做。觀看完整影片。
Chrome 127:新 action.openPopup API
自 Chrome 127 起,所有擴充功能都能使用 action.openPopup
API。先前,這項功能僅適用於 Canary 或政策安裝的擴充功能。
影片:信任與安全團隊專訪
Chrome 擴充功能開發人員關係團隊與負責 Chrome 線上應用程式商店審查的安全與信任團隊坐下來,回答你的問題。觀看完整影片。
網誌文章:資訊清單 v2 逐步淘汰
自 6 月 3 日起,如果使用者仍安裝了資訊清單 V2 擴充功能,Chrome 測試版、開發人員版和 Canary 版會開始在使用者造訪擴充功能管理頁面 (chrome://extensions) 時顯示警告橫幅,告知他們安裝的某些 (資訊清單 V2) 擴充功能即將不再受支援。詳情請參閱官方公告
側邊面板 UI 更新
我們最近對側邊面板 UI 進行了一些變更,包括新增固定圖示和移除全域側邊面板圖示。詳情請參閱這篇 PSA 文章,並查看我們更新的說明文件和範例。
網誌文章:2024 年 Google I/O 大會的 Chrome 擴充功能
另一場 Google I/O 大會已落幕,我們也已介紹所有令人振奮的擴充功能更新!請前往 YouTube 觀看完整影片,並參閱這篇網誌文章,瞭解其中的亮點。
略過符合資格的宣告式網際網路要求變更審查
使用宣告式網路要求 API 時,Chrome 線上應用程式商店現在可讓您略過符合資格的變更審查。如要進一步瞭解資格條件和選擇加入方式,請參閱 Chrome 線上應用程式商店說明文件。
Chrome 線上應用程式商店 API 中可用的 deployPercentage
我們最近更新了 Chrome 線上應用程式商店 API 說明文件,加入了 deployPercentage
的相關資訊,讓您可以指派部分推行部署的百分比。瞭解 deployPercentage
。
Chrome 126:擴充功能中的原始來源試用
Chrome 126 推出了新的 manifest.json 欄位 - trial_tokens
,可讓您在所有擴充功能途徑中選擇參與原點測試和淘汰測試。詳情請參閱指南。
網誌文章:Chrome 擴充功能最新動態 - 2024 年 4 月
我們已發布新的「Chrome 擴充功能的最新消息」文章。這篇文章會討論擴充功能團隊過去幾個月的工作內容。這包括:Chrome 線上應用程式商店的版本回溯功能、更完善的 Firebase Auth 支援功能,以及更多 API 推出和更新。
在 Chrome 線上應用程式商店開發人員資訊主頁中回溯版本
將擴充功能回溯至 Chrome 線上應用程式商店中先前發布的版本,無須額外審查!詳情請參閱網誌文章和說明文件。
Chrome 124:進階的 documentScan API
進階 documentScan
API 現已在 ChromeOS 上推出,可用於從連接的文件掃描器中發現及擷取圖片。
Chrome 124:Service Workers 中的 WebGPU 支援
自 Chrome 124 起,服務工作者就支援 WebGPU。如要快速上手,請查看 WebGPU 擴充功能範例。
Chrome 123:Events API 支援依 CIDR 區塊篩選
Events API 現在支援以無類別跨網域路由 (CIDR) 區塊篩選。CIDR 區塊是一組共用網路前置碼和位元數量的 IP 位址。先前,如果開發人員需要篩選多個 IP 位址,就必須為封鎖範圍中的每個位址設定篩選規則。從現在開始,當外掛程式呼叫 addListener()
時,傳入的規則表示只有在網址的主機部分為 IP 位址,且包含在陣列中指定的任何 CIDR 區塊時,才會呼叫事件處理常式。
Chrome 線上應用程式商店:更新擴充功能名稱長度規定
在 Chrome 線上應用程式商店中,現在對 manifest.json 中擴充功能 "name"
欄位的字元數設有 75 個字元的通用限制。先前英文的限制為 45 個半形字元,其他語言代碼的 "name"
欄位則沒有限制。
這項功能原本的用意是為了因應文化和語言差異,因為這些差異可能無法透過相同數量的字元來呈現。不幸的是,少數開發人員濫用這項功能,在商店中發布垃圾內容。因此,我們將推出新的通用限制,增加至 75 個字元。這項限制涵蓋目前商店中的所有擴充功能,因此您可能不需要採取任何行動來因應這項異動。如果您嘗試上傳的擴充功能名稱長度超過上限,商店就會封鎖上傳作業。
網誌文章:eyeo 測試服務暫停功能的歷程
eyeo 擴充功能引擎團隊在這篇文章中探討了測試擴充功能服務 worker 的問題。在 Manifest V2 中,擴充功能會在背景頁面中執行,並在整個擴充功能生命週期中保持喚醒狀態。資訊清單 V3 則改用服務工作者,而服務工作者在設計上會在不需要時關閉,以節省資源。這會帶來特定的測試挑戰。這篇文章說明 eyeo 如何克服這些挑戰。
Chrome 123:鬧鐘現在會在裝置休眠時執行
使用 chrome.alarms
API 設定的鬧鐘,在裝置進入休眠狀態時,不再延遲。裝置喚醒時,無論錯過多少個鬧鐘,鬧鐘都會啟動一次。舉例來說,如果鬧鐘設定為每小時響一次,且裝置在凌晨 12:55 到凌晨 2:05 之間處於休眠狀態,那麼只有凌晨 2:00 的鬧鐘會觸發 onAlarm
事件。這項作業會盡可能在凌晨 2 點觸發,如果裝置處於休眠狀態,則會在裝置喚醒時立即觸發。
這項異動可讓 Chrome 與 Web Extensions Community Group 中同意的行為一致。
部落格文章:使用擴充訊息端口時,bfcache 行為的變更
往返快取 (bfcache) 是一種瀏覽器最佳化功能,能讓使用者迅速往返網頁,自 Chrome 123 起,如果含有開放式擴充功能連接埠的網頁儲存在 bfcache 中,則訊息管道會關閉,也就是不會將任何訊息傳送至該網頁。因此,擴充功能指令碼應監聽 onDisconnect
等生命週期事件,並在從 BFCache 還原網頁時設定新的連線。
如需更多資訊和程式碼範例,請參閱「使用擴充訊息端口時,BFCache 行為的變更」。
Chrome 122:非同步擴充功能 API 的承諾支援
我們已完成為所有非同步擴充功能 API 方法導入 Promise 支援功能。這麼做是為了改善處理非同步作業的人體工學,進而改善 API 方法。少數方法 (例如 desktopCapture.chooseDesktopMedia()
) 仍只支援回呼,因為其目前的途徑與 Promise 不相容。為了回溯相容性,我們仍支援回呼。如果您發現有失敗的 Promise,請回報錯誤。
即時通訊的新指南
我們剛發布了擴充功能的即時選項指南。即時更新可提供從伺服器直接傳送至擴充功能安裝的即時通訊路徑。此外,我們也針對 chrome.gcm 和 Web Push 提供新的指南。
新的指南和範例:測試服務工作程式終止
我們剛發布了如何使用 Puppeteer 測試服務工作程終止的指南。隨附範例會在 Puppeteer 和 Selenium 中示範這項功能。
更新原生訊息功能的範例
我們剛發布了原生訊息的更新版範例。這個 API 可讓擴充功能啟動並與其他應用程式通訊。感謝 GitHub 貢獻者 Shubham-Rasal 的付出。
Chrome 121:在 tabs.Tab 上新增 lastAccessed 屬性
新增名為 lastAccessed
的屬性至 tabs.Tab
物件。這項屬性會指出分頁上次啟用時的時間。傳回的值以 Epoch 紀元時間起算的毫秒數為單位。
Chrome 121:不支援的「background」鍵現在會發出警告
從資訊清單 V2 改為資訊清單 V3 時,"background"
資訊清單鍵的子項已變更,以便將背景指令碼替換為擴充功能服務 worker。過去,如果將 Manifest V2 鍵 "scripts"
、"page"
或 "persistent"
新增至 Manifest V3 擴充功能的 "background"
鍵,系統會擲回錯誤。這些鍵現在會觸發警告。
這項功能的目的,是根據社群群組中的提案,讓開發人員在多個瀏覽器的擴充功能中使用單一資訊清單檔案。
Chrome 120:將警報的最小精細度縮減為 30 秒
自 Chrome 120 起,Manifest V3 擴充功能可使用 chrome.alarms
API,並設定 30 秒的延遲或時間間隔,而不需要設定 60 秒以上的值。
網誌文章:恢復轉換至 Manifest V3
我們已更新 Manifest V2 支援時間表。詳情請參閱 2023 年 11 月的網誌文章。
網誌文章:改善 Manifest V3 的內容篩選支援功能
如要瞭解我們如何改善 declarativeNetRequest API,請參閱這篇新網誌文章。
部落格文章:Chrome 120 版擴充功能的新功能
Chrome 120 Beta 版 已於近期發布。如要查看與擴充功能開發人員相關的重要更新摘要,請參閱我們的新網誌文章:Chrome 120 擴充功能的新功能。這個版本也標誌著重大里程碑,因為它從重大平台差距清單中移除了最後兩項項目 (userScripts、ChromeOS 上的檔案處理常式)。
重要通知:開發人員資訊主頁中隱私權政策網址的處理方式異動
開發人員資訊主頁中的隱私權政策現在會在項目層級新增。這樣一來,您就能為每項商品提供不同的隱私權政策。如要進一步瞭解這項異動,請參閱PSA。
影片:與 Matt Frisbie 的對談
我們剛在 Chrome 開發人員版 YouTube 頻道上發布了新影片,與 Google 開發人員專家兼作者 Matt Frisbie 進行對談。請按這裡觀看。
擴充功能測試的新指南
我們剛發布了新的指南,說明如何為擴充功能編寫自動化測試,包括如何編寫單元測試,以及端對端測試的一般指南和教學課程。
網誌文章:Chrome 擴充功能最新動態 - 2023 年 10 月
我們剛發布第二版的 Chrome 擴充功能新消息。這篇文章討論了擴充功能團隊過去幾個月來的工作內容,包括解決服務工作程穩定性問題,並在消除所有 MV3 平台差距方面取得良好進展。我們也將分享即將推出的令人期待的 API,例如 Reading List API 和 User Scripts API。
在宣告式網際網路要求 API 中提高靜態規則限制
根據 Web Extensions 社群群組的意見回饋,我們將啟用靜態規則集的上限從 10 大幅提高至 50。此外,我們也將允許的靜態規則總數從 50 個提高至 100 個。這項功能目前在 Canary 中提供。
改善遠端代管程式碼的相關指南
根據 Manifest V3 規定,擴充功能不得再使用遠端代管的程式碼。雖然這項資訊一開始就列在遷移指南中,但我們認為有必要改善這方面的指引。該頁面現在提供更多資訊,說明 Manifest V3 仍可執行的功能,並提供升級策略的更多資訊。
Chrome 線上應用程式商店違規事項疑難排解中也有相關內容。新增一節,說明常見的拒絕原因,例如擴充功能含有遠端代管程式碼。
Chrome 118:isUrlFilterCaseSensitive 的預設值現在為 false
自 Chrome 118 起,chrome.declarativeNetRequest API 中的 isUrlFilterCaseSensitive
屬性預設為 false
。如果您想保留舊行為,可以在 declarativeNetRequest 規則中明確將 isUrlFilterCaseSensitive
設為 true
。
這項決定是根據 Web Extensions 社群群組的討論結果。Firefox 和 Safari 已實作類似的變更。
Cookie 和 Web Storage API 說明文件
我們發布了新的指南,說明 Cookie 和 Web Storage API 在 Chrome 擴充功能中的運作方式。其中包含 Cookie 和儲存空間分區的變更詳細資訊,以及Privacy Sandbox 的相關資訊。Privacy Sandbox 是項持續進行的專案,旨在透過建立一系列新的網路平台 API 來淘汰第三方 Cookie,並說明這些 API 在擴充功能中的運作方式。
可搜尋額外資訊範例
我們最近建立了一個頁面,讓您搜尋 Chrome 擴充功能範例。搜尋頁面提供多種選項。您可以使用搜尋框在範例標題中搜尋文字。您可以依權限或擴充 API 限制搜尋。您可以使用額外的篩選器,將搜尋範圍限定為 API 或功能 (用途) 範例。
這個新的範例頁面是由 Google 程式設計夏令營的參與者戴雪洲建立,他也提供了幾個新範例。歡迎參閱他們在網誌上的文章,瞭解他們在去年夏天取得的成果。
如先前所述,程式碼範例仍可在 GitHub 上使用,用於複製或分支。
Chrome 118:開啟檔案的變更:架構網址
自 Chrome 118 起,擴充功能必須在 chrome://extensions
頁面中啟用「允許存取檔案網址」設定,才能使用 分頁或 Windows API 開啟 file:// 配置網址。您可以呼叫 chrome.extension.isAllowedFileSchemeAccess()
,透過程式設計檢查此存取權。Firefox 已限制檔案網址,Safari 也支援這項變更。如需更多資訊,請參閱 extensions Google Group 中的貼文。
Chrome 117:擴充功能 API 導覽功能的擴充網址保護措施
先前,針對 tabs.update()
、tabs.create()
和 windows.create()
的擴充功能 API 呼叫觸發的導覽會針對部分 chrome:// 網址發出錯誤。此外,系統禁止使用 JavaScript 網址呼叫 tabs.update()
。在 117 版中,這些 JavaScript 網址的保護措施已擴充至 tabs.create()
方法,並在禁止網址清單中新增了許多其他 chrome:// 網址,這些網址適用於先前提及的所有方法。
改善 declarativeNetRequest API 的指南
chrome.declarativeNetRequest
API 會指定宣告式規則,封鎖或修改網路要求。這樣一來,擴充功能就能修改網路要求,而無須攔截及查看內容,為使用者提供更高的隱私權。使用起來也相當複雜。有鑑於此,我們重新編寫了指南,以便更清楚說明如何實作宣告式規則集。請點選上方連結,查看新的說明。
在 Chrome 線上應用程式商店中使用 Google Analytics 帳戶
Chrome 線上應用程式商店可與 Google Analytics 整合,除了開發人員資訊主頁提供的檢視畫面外,您還可以查看 Chrome 線上應用程式商店資訊的分析資料。詳情請參閱「在 Chrome 線上應用程式商店中使用 Google Analytics 帳戶」。
Chrome 115:開發人員工具預設會略過內容指令碼
根據預設,插入的內容指令碼會列在「DevTools」的忽略清單中。這不會影響中斷點,但會在偵錯期間略過內容指令碼,並忽略這些指令碼的例外狀況。在「來源」分頁中開啟內容指令碼時,如果啟用這項功能,系統會顯示橫幅通知,並提供選項,讓您從忽略清單中移除內容指令碼。如要關閉這項行為,請開啟 DevTools,依序前往「Settings」和「Ignore list」。詳情請參閱「開發人員工具的新功能」。
Chrome 116 Beta 版:內容超出本文範圍
Chrome 116 是擴充功能的重大版本。您現在可以透過程式輔助方式開啟側邊面板。您可以使用新方法,瞭解是否有有效的離線文件。Service Worker 獲得了多項改善。116 版有許多改善項目,我們已撰寫一篇網誌文章介紹這些項目。截至 7 月 19 日,Chrome 116 仍處於 Beta 版階段。
網誌文章:Chrome 擴充功能的最新動態
我們剛發布了今年擴充功能的變更和改善項目總覽。這篇文章將討論今年推出的重要新功能,包括側邊面板 API、服務工作者增強功能和螢幕外文件。您也可以一窺我們本季的工作內容。這篇文章列出了更多資訊,並附上相關連結。
新指南和範例:瞭解如何在 Chrome 擴充功能中使用 Google Analytics 4
我們發布了新的 Google Analytics 和地理位置指南和範例:
- 更新版 Google Analytics 指南,說明如何在 Chrome 擴充功能中使用 Google Analytics 4。我們也已在 Github 範例存放區中新增可運作的 Google Analytics 4 範例。請參閱
google-analytics.js
,瞭解與 Google Analytics 相關的相關程式碼。 - 新的地理位置指南和三個範例,說明如何在服務工作者、內容指令碼、彈出式視窗和側邊面板中存取地理位置。
Chrome 115:在 chrome.offscreen.createDocument() 中指定多個原因
您現在可以在呼叫 chrome.offscreen.createDocument()
時指定多個 reason
列舉。當您要將離線文件用於多種不同用途時,請使用此選項。瀏覽器會根據提供的原因,判斷離屏幕外文件的生命週期。
新工具:擴充功能更新測試工具
我們剛發布了擴充功能更新測試工具,這是一個本機擴充功能更新伺服器,可用於在本機開發期間測試 Chrome 擴充功能的更新,包括授予權限。這項工具會顯示使用者的更新流程,包括在使用者授予任何新要求的權限之前,將擴充功能停用。這個工具特別適合模擬從 Manifest V2 更新至 Manifest V3 時,擴充功能要求的權限變更。
Chrome 114:新的 Side Panel API
我們推出全新的 Side Panel API,這是一個輔助途徑,可讓使用者在瀏覽內容時存取工具。如需更多資訊,請參閱 Side Panel API 參考資料。此外,我們也已在 GitHub 範例存放區中新增許多側邊面板範例。我們也在新的部落格文章「運用新版 Side Panel API 設計出色的使用者體驗」中,進一步說明側邊面板。我們也審查了品質指南政策和最佳做法,進一步提供有關建立高品質側邊面板擴充功能的指引。
您的意見回饋對於打造這個 API 至關重要;請在 chromium-groups 中分享您的想法和功能要求。我們會持續改善側邊面板 API,敬請密切留意最新消息。
新範例:擴充功能中的 WASM
我們提供兩個新範例,說明如何在擴充功能中使用 WASM:
- 在資訊清單 V3 中使用 WASM 說明如何加入 WASM 模組的一般方法。
- 在 Manifest V3 中使用 WASM 做為模組說明如何在模組中使用 WASM。
特別感謝 GitHub 內容提供者 @daidr 提供這些範例。
更新的 Manifest V3 遷移指南
我們已更新 Manifest V3 遷移指南的「已知問題」部分,列出我們打算在宣布新的 Manifest V2 淘汰時間表前,要解決的擴充功能平台缺口。
使用 Manifest V3 錄製音訊和視訊
我們剛發布一篇新文章「錄音和螢幕截圖」,說明如何在 Manifest V3 中錄製分頁、視窗或螢幕的音訊或視訊。本文將說明多種錄製方法,其中涉及 chrome.tabCapture
API 和 getDisplayMedia()
函式。
Chrome 114:提高 storage.local 配額
我們已將 storage.local
資源的配額提高至約 10 MB。這項做法已獲得 Web Extensions 社群群組的同意。這會讓 storage.local
與 Chrome 112 中變更的 storage.session
保持一致。
新的擴充功能服務 worker 教學課程和說明
服務工作者是 Chrome 擴充功能不可或缺的一部分。我們剛發布教學課程,說明註冊、偵錯及與 Service Worker 互動的基礎知識。此外,我們也新增了 Service worker 指南,進一步說明重要概念。我們將在未來幾個月內擴大這個部分的內容。
其他 Web Store 違規問題的疑難排解提示
為協助開發人員在 Chrome 線上應用程式商店發布應用程式,我們在兩個方面新增了指引。基本功能的規範重點在於為使用者提供優勢,並豐富他們的瀏覽體驗。聯盟廣告的規範旨在讓使用者知道擴充功能會使用聯盟連結或程式碼來營利,並要求使用者採取行動才能加入,讓使用者享有一定程度的控管權。
擴充功能資訊清單轉換工具的新操作說明
我們已重寫 Extension Manifest Converter 的 README,方便您在執行工具後瞭解接下來要採取的行動。轉換工具可協助將以 Manifest V2 建構的擴充功能遷移至 Manifest V3。新的 README 會使用與遷移指南的檢查清單中相近的字詞,說明這項工具的功能。轉換工具並非萬能,但可以省去許多不需要人為判斷的工作。
Chrome 113:離螢幕文書的新原因
我們已在 Offscreen Documents API 中新增兩種原因類型。使用 LOCAL_STORAGE
存取網頁平台的 localStorage API。建立網路 worker 時,請使用 WORKER
。
Google Analytics 4 現已在開發人員資訊主頁中提供
Chrome 線上應用程式商店開發人員資訊主頁現在支援 Google Analytics 4 (GA4)。我們已簡化 Google Analytics 的設定程序,並簡化群組發布商的存取權管理。如果您先前曾使用 Google 通用 Analytics 追蹤商店資訊活動,請務必在 2023 年 7 月 1 日前採取行動,確保您能繼續收到商店資訊相關資料。詳情請參閱 Chromium Extensions Google 群組中的文章。
ChromeOS 推出 File Handling API
在 ChromeOS 112 和 113 版的 Canary 中,您可以透過實驗來使用 File Handler API。這項功能可讓 ChromeOS 上的擴充功能開啟指定 MIME 類型和檔案副檔名的檔案。如要實作檔案處理作業,請在 manifest.json
中新增一組規則。這項功能的運作方式與漸進式網頁應用程式相同。詳情請參閱本網站其他頁面的文章。
如要啟用檔案處理功能,請按照下列步驟操作:
- 從 112 版開始,使用
--enable-features=ExtensionWebFileHandlers
標記啟動 Chrome - 從 113 版開始,請將
os://flags/#extension-web-file-handlers
貼到 Chrome 萬用盒中,然後從下拉式選單中選取「已啟用」。
我們希望在 6 月底推出 Chrome 115 時推出這項功能。請密切留意這個頁面,以便掌握最新消息。
新範例:動態宣告和程式輔助插入
我們已為 chrome.scripting
API 建立新範例。這項功能會示範動態宣告,在執行階段註冊內容指令碼,以及程式輔助插入,在已開啟的分頁中執行指令碼。
新範例:宣告式網際網路要求用途
三個新的範例可用於展示宣告式網際網路要求 API。每個範例都會示範單一用途的實作方式。第一個示範如何封鎖 Cookie。其餘兩個則示範封鎖和重新導向網址。
Chrome 112:提高 storage.session 配額
自 Chrome 112 起,storage.session
屬性配額已增加至約 10 MB。這是 Web Extensions Community Group 同意的做法:https://github.com/w3c/webextensions/issues/350
Chrome 109:離螢幕外的文件
您現在可以在 Manifest V3 擴充功能中使用離線文件。這些 API 可支援 DOM 相關功能和 API,有助於從背景頁面轉換至擴充功能服務 worker。詳情請參閱這篇網誌文章。
Chrome 110:是否已啟用擴充功能
chrome.action.isEnabled()
方法會以程式輔助方式檢查是否已為特定分頁啟用擴充功能。這樣一來,您就不必維護分頁的啟用狀態。這個新方法會採用分頁 ID 和回呼的參照,並傳回布林值。但這項方法有一個限制:使用 chrome.declarativeContent
建立的分頁一律會傳回 false。
(chrome.action
命名空間最近新增了控制擴充功能徽章外觀的新方法。詳情請參閱「設定徽章顏色」。)
Chrome 110:服務工作者閒置逾時時間的變更
先前,擴充功能服務 worker 經常會在五分鐘後關閉。我們已變更這項行為,讓其更接近網路上的服務工作者生命週期。擴充功能服務工作者會在閒置 30 秒後或單一活動的處理時間超過 5 分鐘後關閉。詳情請參閱「延長擴充服務 worker 的生命週期」。
貼文:暫停淘汰 Manifest V2
我們正在審查 Manifest V2 淘汰時程,並將 2023 年初的實驗延後。詳情請參閱 chromium-extensions Google 群組中的更新資訊。
Chrome 110:設定徽章顏色
chrome.action
命名空間有兩種新方法,可讓您進一步控管外觀擴充功能徽章。setBadgeTextColor()
和 getBadgeTextColor()
方法可讓擴充功能變更及查詢其工具列圖示的徽章文字顏色。搭配 setBadgeBackgroundColor
和 getBadgeBackgroundColor
使用時,這些新方法可讓您強制執行設計和品牌一致性。
網誌文章:進一步瞭解如何轉換至 Manifest V3
我們已說明 Manifest V2 淘汰時程表。Manifest V2 支援時程表也已更新,以反映這項資訊。
說明文件更新:遷移至 Manifest V3 時的已知問題
我們整理了一份目前正在開發的主要功能和已知的錯誤清單。我們希望透過這個頁面,協助開發人員進一步瞭解平台目前的狀態,以及在未來的開發過程中,可以著重哪些功能。
Chrome 線上應用程式商店:移除「大型宣傳圖塊」圖片上傳功能
Chrome 線上應用程式商店已從開發人員資訊主頁的「項目商店資訊」分頁中移除「大型宣傳圖塊」上傳 UI。由於這些圖片並未用於消費者 UI,因此這項異動不會影響使用者體驗。詳情請參閱這篇 chromium-extensions 文章。
Chrome 106:允許 file:// 網址中的網頁存取可透過網際網路存取的資源
根據 crbug.com/1219825#c11 的說明,不透明來源 (例如沙箱 iframe 和動態匯入) 也應能存取可透過網際網路存取的資源。
Chrome 106:修正了允許在部分非同步 API 函式上使用不正確最終引數的錯誤
先前,資訊清單 V3 呼叫非同步 API 時,可能會提供無效的最終引數,但 Chrome 不會顯示錯誤訊息。修正後,Chrome 會正確顯示錯誤,並回報沒有相符的簽名。建議開發人員在 Canary 上檢查擴充功能是否有任何錯誤,以免誤用錯誤的簽名呼叫 API,導致這項錯誤修正無法正常運作。
網誌文章:Chrome 線上應用程式商店數據分析重整
Chrome 線上應用程式商店已針對 Chrome 線上應用程式商店開發人員資訊主頁,改良商品分析體驗。新的資訊主頁更容易一目瞭然,並將最實用的資訊整合在前端。詳情請參閱這篇網誌文章。
Chrome 105:Identity API 的承諾
Identity API 的函式現在支援以承諾為基礎的呼叫。這會導致 identity.getAuthToken()
的介面略有變動,將非同步傳回值設為以承諾為基礎的呼叫時,就會在單一物件上使用「token」和「grantedScopes」做為參數 (與回呼版本不同,後者會將這些項目設為回呼的個別引數)。
Chrome 104:適用於資訊清單 V3 的新 favicons API
Manifest V3 擴充功能現在可以使用新的網址模式存取 favicon:chrome-extension://<id>/_favicon/
,其中 chrome://favicons
API。詳情請參閱 Favicon API 說明文件。
說明文件更新:開發人員交易者/非交易者揭露資訊
新增交易商/非交易商開發人員身分,讓開發人員正確自我聲明交易商/非交易商身分。
Chrome 103:Manifest V3 中的 Wasm 需要使用 wasm-unsafe-eval
Chrome 不再預設授予擴充功能 script-src: wasm-unsafe-eval
。使用 WebAssembly 的擴充功能現在必須在 content_security_policy
宣告中明確將此指示和值新增至 extension_pages
。
Chrome 103:變更 MV3 捷徑會立即生效
在 chrome://extensions/shortcuts
上變更資訊清單 V3 擴充功能的鍵盤快速鍵時,現在會立即套用更新。先前必須重新載入擴充功能,變更才會生效。
Chrome 102:主要世界中的動態內容指令碼
動態註冊的內容指令碼現在可以指定要插入資產的世界。詳情請參閱 scripting.registerContentScripts()
。
Chrome 102:新增「optional_host_permissions」資訊清單欄位
Manifest V3 擴充功能現在可以在 manifest.json 中指定 optional_host_permissions
鍵。這可讓 Manifest V3 擴充功能宣告主機的選用比對模式,就像 Manifest V2 擴充功能可使用 optional_permissions
鍵一樣。
Chrome 102:在 scripting.executeScript() 中使用 injectImmediately 屬性
chrome.scripting.executeScript()
現在可在其 injection
引數中接受選用的 injectImmediately
屬性。如果存在且設為 true,指令碼就會盡快將內容插入目標,而不會等待 document_idle
。請注意,這並不能保證指令碼會在網頁載入前插入,因為網頁會在 API 呼叫期間持續載入。
Chrome 102:Manifest V3 中的 Omnibox API 支援
Omnibox API 現在可用於服務工作者型擴充功能。先前,由於 DOM 功能的內部依附元件,這個 API 的部分方法會在叫用時擲回。
Chrome 102:允許在 Manifest V3 CSP 中使用 wasm-unsafe-eval
Manifest V3 擴充功能現在可以在 content_security_policy
宣告中加入 wasm-unsafe-eval
。這項異動可讓 Manifest V3 擴充功能使用 WebAssembly。
Chrome 102:新 storage.session API
Manifest V3 擴充功能現在可使用記憶體儲存空間 storage.session。
說明文件更新:Chrome 線上應用程式商店項目探索功能
Chrome 線上應用程式商店的「探索」可讓您瞭解使用者如何在 Chrome 線上應用程式商店中找到項目,以及編輯人員如何選出要推薦的項目。
Chrome 101:改善 declarativeNetRequest 網域條件
declarativeNetRequest 規則條件已更新,讓擴充功能可根據請求的「request」和「initiator」網域,更精準地指定請求。相關的條件屬性為 initiatorDomains
、excludedInitiatorDomains
、requestDomains
和 excludedRequestDomains
。另請參閱這個 chromium-extensions 討論串。
Chrome 100:解決新建立的分頁上使用 scripting.executeScript() 時發生的問題
修正長期存在的問題:在新建立的分頁或視窗上呼叫 scripting.executeScript()
可能會失敗。
Chrome 100:原生訊息傳遞端保持服務工作程運作
在擴充功能的服務工作站中使用 chrome.runtime.connectNative()
連線至原生訊息主機時,只要通訊埠處於開啟狀態,服務工作站就會保持運作。
Chrome 100:omnibox.setDefaultSuggestion() 支援承諾和回呼
omnibox.setDefaultSuggestion()
方法現在會傳回承諾或接受回呼,讓開發人員判斷何時已正確設定建議。
Chrome 100:擴充功能服務 worker 支援 i18n.getMessage()
擴充功能服務 worker 情境現在支援 chrome.i18n.getMessage()
API。
Chrome 99:Canary 中的 match_origin_as_fallback
內容指令碼現在可以指定 match_origin_as_fallback
鍵,以便將其插入與相符影格相關的框架,包括含有 about:
、data:
、blob:
和 filesystem:
網址的框架。詳情請參閱內容指令碼說明文件。
Chrome 99:在 Canary 中支援檔案:結構的擴充功能服務 worker
以服務工作者為基礎的 Manifest V2 和 Manifest V3 擴充功能現在可以使用 Fetch API 要求 file:
架構網址。如要存取 file:
架構網址,使用者仍需在 chrome://extensions
頁面中為擴充功能啟用「允許存取檔案網址」功能。
Chrome 99:在 Canary 中支援訊息 API 的承諾
針對為 Manifest V3 建構的擴充功能,tabs.sendMessage
、runtime.sendMessage
和 runtime.sendNativeMessage
已新增 Promise 支援。
說明文件更新:Chrome 線上應用程式商店審查說明文件
新增參考頁面,提供 Chrome 線上應用程式商店審查程序的概略說明,並說明如何處理開發人員計畫政策的違規處置。
Chrome 98:scripting.executeScript() 和 scripting.insertCSS() 可接受多個檔案
Scripting API 的 executeScript()
和 insertCSS()
方法現在可接受多個檔案。先前這些方法需要具備單一檔案項目的陣列。
說明文件更新:審查違規事項的疑難排解更新
我們已更新「Chrome 線上應用程式商店違規事項疑難排解」頁面,為開發人員提供更詳細的指引,說明常見的拒登原因。
Chrome 96:擴大承諾支援功能,涵蓋多達 27 個 API
此版本包含的承諾更新比先前任何版本都多。更新內容包括一般和 ChromeOS 專屬的擴充功能 API。展開以下各節以瞭解詳情。
Extensions API
許多 API 現在支援 Manifest V3 中的承諾。
chrome.browsingData
chrome.commands
chrome.contentSettings
chrome.debugger
chrome.downloads
chrome.enterprise.hardwarePlatform
chrome.fontSettings
chrome.history
chrome.instanceID
chrome.permissions
chrome.processes
chrome.search
chrome.sessions
chrome.topSites
此外,使用 ChromeSetting
原型的 API 現在也支援承諾。以下 API 會受到這項異動影響。
ChromeOS API
chrome.certificateProvider
chrome.documentScan
chrome.enterprise.deviceAttributes
chrome.enterprise.networkingAttributes
chrome.fileBrowserHandler
chrome.fileSystemProvider
chrome.loginState
chrome.printingMetrics
chrome.wallpaper
Chrome 96:動態內容指令碼
chrome.scripting
API 現在支援註冊、更新、取消註冊,以及在執行階段取得內容指令碼清單。先前,內容指令碼只能在擴充功能的 manifest.json 中以靜態方式宣告,或在執行階段透過 chrome.scripting.executeScript()
以程式輔助方式插入。
說明文件更新:Manifest V2 支援時間表
我們已在這篇網誌文章中宣布 Manifest V2 至 V3 的轉換時間表,並發布更詳細的時間表頁面。
Chrome 96:declarativeNetRequestWithHostAccess 權限
新的 declarativeNetRequestWithHostAccess
權限可讓擴充功能在擴充功能具備主機權限的網站上使用 chrome.declarativeNetRequest
API。這也讓使用 webRequest
、webRequestBlocking
和網站專屬主機權限的現有資訊清單 2 版擴充功能,能夠遷移至 chrome.declarativeNetRequest
API,而無須要求使用者核准新的權限。
Chrome 95:直接在網頁中插入指令碼
chrome.scripting
API 的 executeScript()
方法現在可以直接將指令碼插入網頁的主要世界。以往擴充功能只能直接插入擴充功能的隔離世界。如要進一步瞭解隔離世界,請參閱 內容指令碼的說明文件。
Chrome 95:Storage API 的承諾支援
chrome.storage
API 的 Manifest V3 版本方法現在會傳回承諾。
政策更新:強制實施兩步驟驗證
我們已更新 2021 年 6 月 29 日發布的政策更新部落格文章,修正兩步驟驗證功能的部署時程。
Chrome 94:宣告式網路要求靜態規則變更
chrome.declarativeNetRequest
現在支援一次指定最多 50 個靜態規則集 (MAX_NUMBER_OF_STATIC_RULESETS),並啟用最多 10 個規則集 (MAX_NUMBER_OF_ENABLED_STATIC_RULESETS)。
Chrome 93:跨來源隔離支援
Manifest V2 和 Manifest V3 擴充功能現在都可以選擇採用跨來源隔離。這項功能可限制哪些跨來源資源可載入擴充功能的網頁,並啟用 SharedArrayBuffer
等低階網站平台功能。從 Chrome 95 開始,必須選擇採用。
政策更新:開發人員計畫政策更新
Chrome 線上應用程式商店的開發人員計畫政策已更新,明確說明欺騙性安裝手法、垃圾內容和重複內容政策。這項更新也包含在 Chrome 線上應用程式商店中發布時,必須遵守的新兩步驟驗證規定。詳情請參閱這篇網誌文章。
網誌文章:Manifest V3 中的擴充功能動作
Chrome 擴充功能多年以來都有 chrome.browserAction
和 chrome.pageActions
API,但 Manifest V3 已將這兩者都替換為通用的 chrome.actions
API。本文將探討這些 API 的發展歷程,以及 Manifest V3 的變更內容。閱讀文章。
網誌文章:介紹 chrome.scripting
chrome.scripting
API 是新的資訊清單 V3 API,專注於指令碼。在本篇文章中,我們將深入探討這項變更的動機,並進一步說明新功能。閱讀文章。
Chrome 92:模組服務 worker 支援
Chrome 現已支援服務工作者中的 JavaScript 模組。如要在資訊清單中指定模組,請按照下列步驟操作:
"background": {
"service_worker": "script.js",
"type": "module"
}
這會將 worker 指令碼載入為 ES 模組,讓您在 worker 指令碼中使用 import
關鍵字來匯入其他模組。
Chrome 91:chrome.action.getUserSettings()
新的 chrome.action.getUserSettings()
方法可讓擴充功能判斷使用者是否已將擴充功能固定在主工具列。
Chrome 90:chrome.scripting.removeCSS()
新的 chrome.scripting.removeCSS()
方法可讓擴充功能移除先前透過 chrome.scripting.insertCSS()
插入的 CSS。取代 chrome.tabs.removeCSS()
。
Chrome 90:從 scripting.executeScript() 傳回承諾
chrome.scripting.executeScript()
現在支援傳回承諾。如果指令碼執行作業的結果值為承諾,Chrome 會等待承諾穩定後,再傳回結果值。
Chrome 90:chrome.scripting.executeScript() 結果包含 frameId
從 chrome.scripting.executeScript()
傳回的結果現在包含 frameId。frameId
屬性會指出結果來自哪個影格,讓擴充功能在注入多個影格時,輕鬆將結果與個別影格建立關聯。
Chrome 89:用於管理分頁群組的新 API
chrome.tabGroups
API 和 chrome.tabs
中的新功能可讓擴充功能讀取及操作分頁群組。需要使用資訊清單 V3。
Chrome 89:可自訂的網路存取資源權限
可存取的網頁資源:Manifest V3 中的定義已變更,讓擴充功能可根據要求者的來源或擴充功能 ID 限制資源存取權。
網誌文章:擴充功能資訊清單轉換工具
Chrome 擴充功能團隊已將「Extension Manifest Converter」開放原始碼,這是一項 Python 工具,可自動執行將擴充功能轉換為 Manifest V3 的部分機械式作業。請參閱公告網誌文章,並從 GitHub 取得。
Chrome 88:Manifest V3 正式版
Manifest V3 是擴充功能平台的主要更新,請參閱「Manifest V3 簡介」,瞭解新功能和變更的功能摘要。擴充功能目前可以繼續使用 Manifest V2,但這項功能將在近期內逐步淘汰。我們強烈建議您為任何新擴充功能使用 Manifest V3,並盡快開始將現有擴充功能遷移至 Manifest V3。