請經常查看這個頁面,瞭解 Chrome 擴充功能、擴充功能說明文件、相關政策或其他異動的異動內容。您可以在 Extensions Google 網路論壇找到其他公告。Chrome 時間表會列出穩定版和 Beta 版的發布日期。
影片:信任與安全團隊訪談
Chrome 擴充功能開發者團隊與信任與安全團隊合作,由 Chrome 線上應用程式商店的審查主管提出問題。觀看完整影片
網誌文章:開始逐步淘汰 Manifest V2
自 6 月 3 日起,採用 Chrome Beta 版、開發人員版和 Canary 版安裝 Chrome Beta 版後,如果使用者還安裝了 Manifest V2 擴充功能,有些會開始在瀏覽擴充功能管理頁面 chrome://extensions 時看見警告橫幅,告知系統即將停止支援部分安裝的 (Manifest V2) 擴充功能。詳情請參閱官方公告
側邊面板 UI 更新
我們最近對側邊面板 UI 做了一些變更,包括新增圖釘圖示,以及移除全域側邊面板圖示。詳情請造訪 PSA 網站,並查看最新的說明文件和範例。
網誌文章:2024 年 Google I/O 大會公布的 Chrome 擴充功能
另一場 Google I/O 大會是我們幕後的一項新功能,所有令人期待的擴充功能更新都精彩回顧了!前往 YouTube 觀看完整影片,並閱讀我們的網誌文章,瞭解一些精選內容。
針對符合資格的宣告式網路要求變更略過審查
Chrome 線上應用程式商店現在可讓您在使用宣告式 Net Request API 時,略過符合資格變更的審查作業。如要進一步瞭解資格條件和啟用方式,請參閱 Chrome 線上應用程式商店說明文件。
Chrome Web Store API 中的可用部署百分比
我們最近更新了 Chrome 線上應用程式商店 API 說明文件,加入 deployPercentage
相關資訊,這個做法可讓您指派一部分的推出部署作業。瞭解 deployPercentage
。
Chrome 126:擴充功能的來源試用
Chrome 126 導入了新的 manifest.json 欄位 (trial_tokens
),您可以選擇在所有擴充功能途徑中進行來源試用和淘汰試用。詳情請參閱指南。
網誌文章:Chrome 擴充功能異動 - 2024 年 4 月
我們已發布新版本的 Chrome 擴充功能最新消息。這篇文章討論擴充功能團隊過去幾個月的努力。其中包括:Chrome 線上應用程式商店的版本復原、更完善的 Firebase 驗證支援功能,以及更多 API 啟動和更新。
Chrome 線上應用程式商店開發人員資訊主頁的版本復原功能
在 Chrome 線上應用程式商店中,你可以復原擴充功能,復原至先前發布的版本,無須另行審查!詳情請參閱網誌文章和說明文件。
Chrome 124:Advanced documentScan API
ChromeOS 現已提供進階 documentScan
API,可探索並擷取附加文件掃描器中的圖片。
Chrome 124:服務工作站的 WebGPU 支援
從 Chrome 124 版開始,服務工作站就支援 WebGPU。如要快速上手,請參閱 WebGPU 擴充功能範例。
Chrome 123:Events API 支援依 CIDR 區塊篩選
Events API 現已支援依無類別跨網域路由 (CIDR) 區塊進行篩選。CIDR 區塊是一組共用網路前置字串和相同位元的 IP 位址。過去,開發人員需要篩選多個 IP 位址,才能為區塊範圍中的每個位址設定篩選器規則。現在,當擴充功能呼叫 addListener()
時,傳入的規則表示只有在網址的主機部分為 IP 位址,且包含在陣列中指定的任何 CIDR 區塊中時,才會呼叫事件處理常式。
Chrome 線上應用程式商店:擴充功能名稱長度規定更新
在 Chrome 線上應用程式商店中,擴充功能的 "name"
欄位現在設有 75 個字元的通用限制,在 manifest.json 中就能查看。英文先前的限制是 45 個字元,而其他語言代碼的 "name"
欄位也沒有限制。
這原本是為了因應無法以相同字元擷取的文化和語言差異。遺憾的是,這項功能遭到少數開發人員濫用,以將商店散發為垃圾內容。因此,我們將推出新的通用限制,將字元上限提高至 75 個字元。這項限制適用於商店目前絕大多數的擴充功能,因此您無須針對這項異動採取任何行動。如果您嘗試上傳的擴充功能名稱超過數量上限,則商店會封鎖上傳作業。
網誌文章:eyeo 測試服務工作處理程序暫停的歷程
在這篇由 eyeo Extension Engine 團隊撰寫的這篇文章中,我們將探討測試擴充功能服務工作站的問題。在 Manifest V2 中,擴充功能會存放在背景頁面,而該頁面在整個擴充功能生命週期中處於喚醒狀態。Manifest V3 改為使用 Service Worker,而服務工作站在設計上會在不需要時關閉資源,藉此節省資源。這在測試方面會帶來一些挑戰。本文將說明 eyeo 如何因應這些挑戰。
Chrome 123:現在鬧鐘會在裝置休眠時執行
使用 chrome.alarms
API 設定的鬧鐘在裝置休眠時不再延遲。裝置喚醒時,無論錯過多少鬧鐘,鬧鐘都會觸發一次。舉例來說,假設某個鬧鐘已設為每小時響鈴一次,且所用裝置是在凌晨 12:55 到凌晨 2:05 時,則只有凌晨 2:00 的鬧鐘會觸發 onAlarm
事件。啟動時間會盡可能接近凌晨 2:00 時啟動,並在裝置處於休眠狀態時立即啟動。
經過本次異動後,Chrome 便已融入 Web Extensions 社群論壇中同意的行為。
網誌文章:擴充功能訊息通訊埠的 bfcache 行為變更
往返快取 (bfcache) 是一種瀏覽器最佳化功能,可以啟用即時往返瀏覽。從 Chrome 123 版開始,當含有開放式擴充功能通訊埠的網頁儲存在 bfcache 中時,訊息管道會關閉,這表示系統不會將任何訊息傳送至該頁面。因此,擴充功能指令碼應監聽生命週期事件 (例如 onDisconnect
),並在從 BFCache 還原網頁時設定新連線。
如需詳細資訊和程式碼範例,請參閱使用擴充訊息通訊埠的 BFCache 行為變更。
Chrome 122:Promise 支援非同步擴充功能 API
我們已經為所有非同步擴充功能 API 方法實作 Promise 支援功能。這麼做是為了改善處理非同步作業的人體工學,以翻新 API 方法。許多方法 (例如 desktopCapture.chooseDesktopMedia()
) 仍然僅支援回呼,因為其目前的介面與 Promise 不相容。為了回溯相容,系統仍支援回呼。如果您發現 Promise 失敗,請回報錯誤。
全新的即時通訊指引
我們剛發布了擴充功能即時選項的相關指南。即時更新可提供從伺服器直接連線至擴充功能安裝程序的即時通訊路徑。此外,我們還提供 chrome.gcm、網頁推播的最新使用指南。
新指引和範例:測試 Service Worker 終止作業
我們剛剛發布了有關如何利用 Puppeteer 測試 Service Worker 終止事宜的指南。隨附的範例會在 Puppeteer 和 Selenium 中展示。
已更新原生訊息樣本
我們剛剛發布了適用於原生訊息傳遞的更新範例。這個 API 可讓擴充功能啟動並與其他應用程式通訊。感謝 GitHub 貢獻者 Shubham-Rasal 解決此問題。
Chrome 121:分頁新增 last 存取過的屬性。
已為 tabs.Tab
物件新增名為 lastAccessed
的新屬性。這個屬性會指出分頁上次啟用的時間。傳回的值是以 Epoch 紀元時間起算的毫秒為單位。
Chrome 121:不支援的「背景」鍵現在會發出警告
從 Manifest V2 變更為 Manifest V3 後,"background"
資訊清單金鑰的子項已變更,以配合包含擴充功能服務工作站的背景指令碼。先前將 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 的內容篩選支援
如要瞭解我們如何改善 larativeNetRequest API,請參閱新的網誌文章。
網誌文章:Chrome 120 擴充功能的新功能
最近才發布 Chrome 120 Beta 版。如要瞭解與擴充功能開發人員相關的重要更新,請參閱我們的新網誌文章:Chrome 120 擴充功能新功能。這個版本也從重大平台缺口清單中移除最後兩個項目 (userScript、ChromeOS 的檔案處理常式),因此也標示為重要里程碑。
PSA:開發人員資訊主頁中隱私權政策網址的處理方式變更
開發人員資訊主頁中的隱私權政策現已加入項目層級。如此一來,您就可以為每個項目提供不同的隱私權政策。如要進一步瞭解這項變更,請參閱公共服務宣導。
影片:與 Matt Frisbie 的對話
我們最近在 Chrome for Developers YouTube 頻道中發布了新影片,與 Google Developers 專家及作者 Matt Frisbie 聊天。請在這裡觀看影片。
關於測試擴充功能的新指南
我們剛剛發布了有關如何編寫擴充功能自動測試的新指南,包括如何編寫單元測試、一般指南以及端對端測試的教學課程。
網誌文章:Chrome 擴充功能異動 - 2023 年 10 月
我們已發布第二版 Chrome 擴充功能的最新動態。這篇文章討論擴充功能團隊過去幾個月的工作成果,包括解決服務工作人員穩定性問題,以及確保所有 MV3 平台缺口作業有良好進展。另外,我們也會分享即將推出的 API 版本,例如 Reading List API 和 User Scripts API。
提高宣告式 Net Request API 的靜態規則集限制
根據 Web Extensions 社群群組中的意見回饋,我們大幅地將已啟用的靜態規則集限制從 10 提高至 50 個。此外,我們也將允許的靜態規則集總數從 50 個增加到 100 個。這項功能目前僅適用於 Canary 版。
改善遠端代管程式碼的相關指引
Manifest V3 的一項規定是擴充功能將無法再使用遠端託管的程式碼。雖然這份指南已從一開始的遷移指南列載,但我們認為值得改善這項問題的指引非常重要。該頁面現在提供更多詳細資訊,說明 Manifest V3 中依然可以執行的功能,並進一步說明昇級策略。
此外,Chrome 線上應用程式商店違規事項疑難排解還提供相關說明。新的章節會說明含有遠端代管程式碼的擴充功能遭拒的常見原因。
Chrome 第 118 版:isUrlFilterCaseSensitive 現在預設為「false」
自 Chrome 118 版起,chrome.declarativeNetRequest API 中的 isUrlFilterCaseSensitive
屬性已預設為 false
。如果想保留舊行為,可以在宣告式 NetRequest 規則中明確將 isUrlFilterCaseSensitive
設為 true
。
這會遵循 Web Extensions 社群群組中的討論。Firefox 和 Safari 也已經導入類似的變更。
Cookie 和網頁儲存空間 API 說明文件
我們發布了一份新指南,說明 Cookie 和網頁儲存空間 API 在 Chrome 擴充功能中的運作方式。 內容詳細介紹 Privacy Sandbox 中的 Cookie 和儲存空間分區異動;這項持續進行的計畫將推出一系列新的網路平台 API,藉此淘汰第三方 Cookie,以及這類 Cookie 在擴充功能中的運作方式。
現已可供搜尋擴充功能範例
我們最近建立了可搜尋 Chrome 擴充功能範例的頁面。搜尋網頁提供多種選項,搜尋框可讓您搜尋範例標題中的文字。您可以使用權限或擴充功能 API 限制搜尋。您可以使用額外的篩選器,將搜尋範圍限制在 API 或功能性 (用途) 範例中。
這個新的範例網頁是由 Google Summer of Code 的參與者 Xuezhou Dai 精心打造,他們也提供了幾項新的樣本。歡迎瀏覽這篇網誌文章,瞭解他們在過去夏天的親身體驗。
和先前一樣,我們的程式碼範例仍保留在 GitHub 上,以供複製或建立。
Chrome 118:開啟檔案變更:配置網址
從 Chrome 118 版開始,擴充功能必須在 chrome://extensions
頁面中啟用「允許存取檔案網址」設定,才能使用 Tabs 或 Windows API 開啟 file:// 配置網址。您可以呼叫 chrome.extension.isAllowedFileSchemeAccess()
,透過程式輔助方式檢查這項存取權。Firefox 已限制檔案網址,Safari 支援這項變更。如需更多資訊,請參閱擴充功能 Google 網路論壇中的貼文。
Chrome 117:擴充擴充功能 API 瀏覽作業的網址防護措施
先前透過擴充功能 API 呼叫 tabs.update()
、tabs.create()
和 windows.create()
觸發瀏覽,導致部分 chrome:// 網址發生錯誤,此外,系統也禁止使用 JavaScript 網址呼叫 tabs.update()
。117 年,這類針對 JavaScript 網址提出的保護措施已進一步擴充至 tabs.create()
方法,另外還有一些 chrome:// 網址新增至禁用網址清單,這些網址適用於上述所有方法。
改善 larativeNetRequest API 的指南
透過指定宣告規則,chrome.declarativeNetRequest
API 會封鎖或修改網路要求。如此一來,擴充功能即可在不攔截網路要求的情況下修改網路要求,進而進一步保障使用者隱私。而且使用起來不易操作。因此,我們重新撰寫了指南,設法更清楚地說明如何實作宣告式規則集。請前往上方的連結閱讀新章節。
透過 Chrome 線上應用程式商店使用 Google Analytics (分析) 帳戶
Chrome 線上應用程式商店可與 Google Analytics (分析) 整合,方便您查看 Chrome 線上應用程式商店資訊的分析資料,以及開發人員資訊主頁提供的檢視畫面。詳情請參閱「透過 Chrome 線上應用程式商店使用 Google Analytics (分析) 帳戶」。
Chrome 115:在預設情況下,開發人員工具會移除內容指令碼
根據預設,插入的內容指令碼會出現在開發人員工具忽略清單中。這不會影響中斷點,但也代表在偵錯過程中,內容指令碼會遭到清除,且系統會忽略這些指令碼的例外狀況。在「來源」分頁中開啟內容指令碼時,該橫幅會發出警示通知,並讓您選擇將內容指令碼從忽略清單中移除。如要停用這項行為,請開啟開發人員工具,然後依序前往「設定」和「忽略清單」。詳情請參閱開發人員工具的新功能。
Chrome 116 Beta 版:更多功能可以滿足您的需求
Chrome 116 是適用於擴充功能的重大版本。你現在可以透過程式開啟側邊面板。你可以透過新方法瞭解是否有使用中的螢幕外文件。Service Worker 已改善伺服器。我們在 116 年推出了許多改善項目,例如一篇網誌文章。Chrome 116 目前處於 Beta 版測試階段,已於 7 月 19 日推出。
網誌文章:Chrome 擴充功能最新動態
我們剛發布了一份總覽,列出今年的擴充功能異動和改善項目。這篇文章討論今年最重大的新功能,包括 Side Panel API、Service Worker 增強功能,以及畫面外的文件。此外,您也能搶先瞭解我們本季的工作內容。這篇文章會列出更多內容,並附上連結。
全新指南和範例:瞭解如何在 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:全新側邊面板 API
隆重推出新的 Side Panel API,這個隨附介面可讓使用者在瀏覽內容旁存取工具。詳情請參閱 Side Panel API 參考資料。此外,我們在 GitHub 範例存放區中新增了許多側邊面板範例。此外,我們還會在新的網誌文章《使用新的側邊面板 API 設計優異的使用者體驗》一文中進一步瞭解側邊面板。此外,我們還審查了品質指南政策和最佳做法,針對建立優質側邊面板額外資訊的進一步指引。
您的意見對於開發這個 API 至關重要;如要提出想法和功能要求,請前往 chromium-groups。我們將持續強化 Side Panel API,請密切留意最新消息。
全新範例:擴充功能中的 WASM
我們提供兩個新範例,示範如何在擴充功能中使用 WASM:
- 在 Manifest V3 中使用 WASM 可說明加入 WASM 模組的一般方法。
- 在 Manifest V3 中將 WASM 做為模組示範如何在模組中使用 WASM。
特別感謝 GitHub 貢獻者 @daidr 處理這些範例。
更新 Manifest V3 遷移指南
我們已更新資訊清單第 3 版遷移指南的「已知問題」一節,在公布新的 Manifest V2 淘汰時程之前,列出新的擴充平台缺口清單。
使用 Manifest V3 錄製音訊和影片
我們剛發布了新文章「音訊錄音和螢幕畫面擷取」,其中涵蓋 Manifest V3 中分頁、視窗或螢幕畫面錄製的音訊或影片。本文說明透過 chrome.tabCapture
API 和 getDisplayMedia()
函式記錄的多種方法。
Chrome 114:提高 storage.local 配額
我們已將 storage.local
屬性的配額提高為大約 10 MB。這是在 Web Extensions 社群群組中提出的要求。這會讓 storage.local
與 storage.session
保持一致 (在 Chrome 112 版中已變更)。
新增擴充功能 Service Worker 教學課程和說明
Service Worker 是 Chrome 擴充功能不可或缺的一環,我們剛發布教學課程,介紹註冊、偵錯及與服務工作處理程序互動的基本概念。我們也新增了新的服務工作人員指南,詳細說明重要概念。我們將在未來幾個月內擴展這個部分。
其他排解線上應用程式商店違規問題的相關提示
為協助 Chrome 線上應用程式商店的發布作業,我們在兩個領域新增相關規範。基本功能指南著重於為使用者提供好處和瀏覽體驗。聯盟廣告指南的用意是讓使用者瞭解,利用聯盟連結或代碼來獲利的擴充功能,並要求使用者先採取行動才能獲得部分掌控權。
擴充功能資訊清單轉換工具的新操作說明
我們重新編寫了擴充功能資訊清單轉換工具的 README,方便您查看執行工具後需要採取的行動。這個轉換工具可協助將 Manifest V2 建構的擴充功能遷移至 Manifest V3。新的 README 檔案將說明這項工具使用的字詞,須與遷移指南檢查清單中的字詞相符。轉換工具不會處理所有事務,但會排除許多不需要人為判斷呼叫的工作。
Chrome 113:文件外文件出現的新原因
我們在 Offscreen Documents API 中新增了兩種原因類型。使用 LOCAL_STORAGE
存取網路平台的 localStorage API。建立網路工作站時使用 WORKER
。
開發人員資訊主頁現已支援 Google Analytics (分析) 4
Chrome 線上應用程式商店開發人員資訊主頁現在支援 Google Analytics (分析) 4 (GA4)。我們簡化了 Google Analytics (分析) 的設定,也讓群組發布者的存取管理變得更加簡單。如果您先前使用 Google 通用 Analytics (分析) 追蹤商店資訊活動,則必須在 2023 年 7 月 1 日前採取行動,才能確保可繼續接收商店資訊相關資料。如需更多資訊,請參閱 Chromium 擴充功能 Google 網路論壇貼文。
ChromeOS 推出 File Handling API
在 Canary 版 112 和 113 版的 ChromeOS 中,可使用 File Handler API 進行實驗。這可讓 ChromeOS 上的擴充功能透過指定的 MIME 類型和副檔名來開啟檔案。如要實作檔案處理功能,請在 manifest.json
中加入一組規則。這項功能的運作方式與漸進式網頁應用程式相同。如需詳細資訊,請參閱這個網站的其他文章。
如要啟用檔案處理功能,請按照下列步驟操作:
- 自 112 年起,使用
--enable-features=ExtensionWebFileHandlers
旗標啟動 Chrome (自 112 版開始) - 自 113 年起,將
os://flags/#extension-web-file-handlers
貼到 Chrome 網址列,然後從下拉式選單中選取「已啟用」。
我們將在 Chrome 115 版於 6 月下旬推出這項功能。留意此空間,取得更新資訊。
全新範例:動態宣告和程式輔助插入
我們為 chrome.scripting
API 建立了新範例。其中展示了動態宣告 (在執行階段註冊內容指令碼),以及透過程式輔助植入程式 (在已開啟的分頁中執行指令碼)。
新範例:宣告式網路要求用途
我們提供三個新範例,示範宣告式 Net Request API。每個都示範單一用途的實作方式。第一節顯示如何封鎖 Cookie。其餘兩個網址說明瞭封鎖及重新導向網址。
Chrome 112:提高 storage.session 配額
自 Chrome 112 版起,storage.session
屬性的配額已提高為大約 10 MB。在 Web Extensions 社群群組中,以下為達成協議:https://github.com/w3c/webextensions/issues/350
Chrome 109:畫面外文件
Manifest V3 擴充功能現在提供畫面外文件。這些程式碼支援 DOM 相關功能和 API,協助從背景頁面轉換至擴充功能服務工作人員。詳情請參閱這篇網誌文章。
Chrome 110:擴充功能是否已啟用
chrome.action.isEnabled()
方法會以程式輔助方式檢查特定分頁是否已啟用擴充功能。以免您維持分頁的啟用狀態。這個新方法會使用分頁 ID 和回呼的參照,並傳回布林值。限制有一項限制:使用 chrome.declarativeContent
建立的分頁一律會傳回 false。
(chrome.action
命名空間最近採用了控管擴充功能徽章外觀的新方法。詳情請參閱設定標記顏色)。
Chrome 110:Service 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 中並未使用這些圖片。詳情請參閱這篇 chromium-extensions 文章。
Chrome 106:允許 file:// 網址上的網頁存取可透過網路存取的資源
根據 crbug.com/1219825#c11 的說明,沙箱 iframe 和動態匯入等不透明來源也可以存取網路可存取的資源。
Chrome 106 版:修正部分非同步 API 函式允許不正確最終引數的錯誤
先前,呼叫非同步 API 的 Manifest V3 可提供無效的最終引數,Chrome 也不會發生錯誤。修正這項錯誤後,Chrome 會正確顯示錯誤,並回報沒有相符的簽名。建議開發人員檢查 Canary 版的擴充功能,看看是否不小心使用了錯誤簽名,以免因這項錯誤修正而中斷 API 呼叫。
網誌文章:Chrome 線上應用程式商店數據分析翻新
Chrome 線上應用程式商店為 Chrome 線上應用程式商店開發人員資訊主頁提供了全新商品分析體驗。新版資訊主頁一目瞭然,方便使用者快速查看,並預先整合最實用的資訊。詳情請參閱這篇網誌文章。
Chrome 105:Identity API 承諾
Identity API 的函式現在支援承諾型呼叫。這跟 identity.getAuthToken()
介面稍有不同,其中非同步傳回設定為 promise 型呼叫時,會將「token」和「grantedScopes」做為單一物件的參數 (與回呼版本以個別引數的形式接收這些參數不同)。
Chrome 104:適用於 Manifest V3 的全新網站小圖示 API
Manifest V3 擴充功能現在可透過新的網址模式存取網站小圖示: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
上變更 Manifest 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:改善 larativeNetRequest 網域條件
declarativeNetRequest 規則條件更新,讓擴充功能可根據要求的「要求」和「申請者」網域更準確地指定要求。相關條件屬性為 initiatorDomains
、excludedInitiatorDomains
、requestDomains
和 excludedRequestDomains
。另請參閱 chromium-extensions 執行緒。
Chrome 100 版:已解決新建立的分頁含有 Scripting.executeScript() 的問題
修正長期以來在新建立的分頁或視窗中呼叫 scripting.executeScript()
可能會失敗的問題。
Chrome 100:內建訊息傳送埠,可讓 Service Worker 保持運作
在擴充功能的服務工作站中使用 chrome.runtime.connectNative()
連線至原生訊息傳遞主機,只要通訊埠開啟,服務工作站應能保持運作。
Chrome 100:omnibox.setDefaultSuggestion() 支援 promise 和 回呼
omnibox.setDefaultSuggestion()
方法現在會傳回承諾或接受回呼,讓開發人員判斷建議何時設定正確。
Chrome 100:擴充功能服務 Worker 中的 i18n.getMessage() 支援
擴充功能服務工作站結構定義現已支援 chrome.i18n.getMessage()
API。
Chrome 99:Canary 版:match_origin_as_fallback
內容指令碼現在可以指定 match_origin_as_fallback
鍵插入與相符影格相關的頁框,包括含有 about:
、data:
、blob:
和 filesystem:
網址的頁框。詳情請參閱內容指令碼說明文件。
Chrome 99:擴充功能 Service Worker 支援檔案:Canary 中的配置
以服務工作站為基礎的 Manifest V2 和 Manifest V3 擴充功能現在可使用 Fetch API 要求 file:
配置網址。如要存取 file:
配置網址,使用者仍須在 chrome://extensions
頁面中為擴充功能啟用「允許存取檔案網址」功能。
Chrome 99 版:承諾支援 Canary 中的訊息 API
Promise 支援已針對 tabs.sendMessage
、runtime.sendMessage
和 runtime.sendNativeMessage
專為 Manifest V3 建構的擴充功能新增。
文件更新:Chrome 線上應用程式商店審查說明文件
新增新的參考頁面,概略說明 Chrome 線上應用程式商店審查程序,並說明我們如何處理開發人員計畫政策。
Chrome 第 98 版:scripting.executeScript() 和 Scripting.insertCSS() 接受多個檔案
Scripting API 的 executeScript()
和 insertCSS()
方法現在可接受多個檔案。先前,這些方法需要包含單一檔案項目的陣列。
Google 文件更新:詳閱違規疑難排解的最新資訊
「Chrome 線上應用程式商店違規事項疑難排解」頁面已更新,為開發人員針對遭拒的常見原因提供更詳盡的指引。
Chrome 96 版:擴大支援範圍,支援另外 27 個 API
此版本包含的承諾更新比先前版本更多。更新內容包括一般和 ChromeOS 專用的擴充功能 API。請展開以下各節以瞭解詳情。
擴充功能 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:宣告式 NetRequestWithHostAccess 權限
新的 declarativeNetRequestWithHostAccess
權限可讓擴充功能在具有主機權限的網站上使用 chrome.declarativeNetRequest
API。這樣一來,使用 webRequest
、webRequestBlocking
和網站特定主機權限的既有 Manifest V2 擴充功能也能遷移至 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 是全新的 Manifest V3 API,著重於編寫指令碼。在這篇文章中,我們將深入探討這項變更的動機,並進一步瞭解這項新功能的新功能。閱讀文章。
Chrome 92:模組 Service Worker 支援
Chrome 現已支援 Service Worker 中的 JavaScript 模組。如何在資訊清單中指定模組:
"background": {
"service_worker": "script.js",
"type": "module"
}
這會將工作站指令碼載入為 ES 模組,讓您能夠在工作站指令碼中使用 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
的新功能可讓擴充功能讀取及操控分頁群組。
需要 Manifest V3。
Chrome 第 89 版:網路可存取資源的可自訂權限
Manifest V3 中的可網路存取資源定義已變更,可讓擴充功能根據要求者的來源或擴充功能 ID 限制資源存取權。
網誌文章:擴充功能資訊清單轉換工具
Chrome 擴充功能團隊已推出開放原始碼「擴充功能資訊清單轉換器」,這是一種 Python 工具,可將擴充功能某些機械層面轉換為 Manifest V3。請參閱公告網誌文章,並從 GitHub 取得。
Chrome 88:Manifest V3 正式發布
Manifest V3 是擴充功能平台的重大更新。請參閱 Manifest V3 總覽,瞭解新功能和變更後的功能摘要。擴充功能目前可能繼續使用 Manifest V2,但不久後就會淘汰。強烈建議您為所有新擴充功能使用 Manifest V3,並盡快將現有的擴充功能遷移至 Manifest V3。