Chrome 擴充功能的新功能's

請經常查看這個頁面,瞭解 Chrome 擴充功能、擴充功能說明文件、相關政策或其他異動的異動內容。您可以在 Extensions Google 網路論壇找到其他公告。Chrome 時間表會列出穩定版和 Beta 版的發布日期。

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 頁面中啟用「允許存取檔案網址」設定,才能使用 TabsWindows 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 (分析) 和地理位置指南和範例:

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:

特別感謝 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.localstorage.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() 方法可讓擴充功能變更及查詢工具列圖示的徽章文字顏色。與 setBadgeBackgroundColorgetBadgeBackgroundColor 搭配使用時,這些新方法可讓您強制執行設計和品牌一致性。

網誌文章:進一步瞭解如何轉換至 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/,其中 是擴充功能的 ID。這會取代 Manifest V2 平台的 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 規則條件更新,讓擴充功能可根據要求的「要求」和「申請者」網域更準確地指定要求。相關條件屬性為 initiatorDomainsexcludedInitiatorDomainsrequestDomainsexcludedRequestDomains。另請參閱 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.sendMessageruntime.sendMessageruntime.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 中的承諾。

此外,使用 ChromeSetting 原型的 API 現在也支援承諾。下列 API 會受到這項異動影響。

ChromeOS API

Chrome 96 版:動態內容指令碼

發布日期:

chrome.scripting API 現在支援在執行階段註冊更新取消註冊,以及取得內容指令碼清單。先前,內容指令碼只能透過在擴充功能的 manifest.json 中靜態宣告,或使用 chrome.scripting.executeScript() 在執行階段以程式輔助方式插入。

文件更新:Manifest V2 支援時間表

發布日期:

我們在這篇網誌文章中宣布 Manifest V2 到 V3 的轉換時程,並發布更詳盡的時間表頁面

Chrome 96:宣告式 NetRequestWithHostAccess 權限

發布日期:

新的 declarativeNetRequestWithHostAccess 權限可讓擴充功能在具有主機權限的網站上使用 chrome.declarativeNetRequest API。這樣一來,使用 webRequestwebRequestBlocking 和網站特定主機權限的既有 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 V2Manifest V3 擴充功能現在皆可選擇啟用跨來源隔離功能。這項功能會限制哪些跨來源資源可載入擴充功能頁面,並啟用 SharedArrayBuffer 等低階網路平台功能。Chrome 第 95 版起必須選擇啟用。

政策更新:已更新開發人員計畫政策

發布日期:

Chrome 線上應用程式商店開發人員計畫政策已更新,針對欺騙性安裝手法、垃圾內容和重複內容政策進行說明。 本次更新也包含新的兩步驟驗證要求,以便在 Chrome 線上應用程式商店發布內容。詳情請參閱這篇網誌文章

網誌文章:Manifest V3 中的擴充功能動作

發布日期:

Chrome 擴充功能多年來都具有 chrome.browserActionchrome.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() 傳回的結果現在包含 frameIdframeId 屬性表示結果的來源影格,可讓擴充功能在插入多個影格時,輕鬆將結果與個別影格建立關聯。

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。