API 參考資料

大多數擴充功能都需要存取一或多個 Chrome Extensions API 才能運作。本 API 參考資料說明可在擴充功能中使用的 API,並提供用途範例。

常見的 Extensions API 功能

Extensions API 包含一個命名空間,其中包含用於執行擴充功能作業的方法和屬性,以及 manifest.json 檔案的資訊清單欄位 (通常是,但不一定是)。例如,chrome.action 命名空間需要資訊清單中的 "action" 物件。許多 API 也需要在資訊清單中設定權限

除非另有說明,否則擴充功能 API 中的所有方法都是非同步的。非同步方法會立即傳回,而不會等待呼叫這些方法的作業完成。使用承諾取得這些非同步方法的結果。

Chrome 擴充功能 API

accessibilityFeatures

使用 chrome.accessibilityFeatures API 管理 Chrome 的無障礙功能。這個 API 會使用 API 類型的 ChromeSetting 原型,用於取得及設定個別無障礙功能。如要取得功能狀態,擴充功能必須要求 accessibilityFeatures.read 權限。如要修改功能狀態,擴充功能需要 accessibilityFeatures.modify 權限。請注意,accessibilityFeatures.modify 不代表 accessibilityFeatures.read 權限。

action
Chrome 88 以上版本 MV3 以上版本

使用 chrome.action API 控制 Google Chrome 工具列中的擴充功能圖示。

alarms

使用 chrome.alarms API 排定程式碼,以便定期執行或在未來的特定時間執行。

音訊
Chrome 59 以上版本 (僅限 ChromeOS)

chrome.audio API 可讓使用者取得系統連接音訊裝置的相關資訊,並控制這些裝置。這個 API 目前僅適用於 ChromeOS 的資訊站模式。

書籤

使用 chrome.bookmarks API 建立、整理及操作書籤。另請參閱「覆寫頁面」,您可以使用這項功能建立自訂的「書籤管理員」頁面。

browsingData

使用 chrome.browsingData API 從使用者的本機設定檔中移除瀏覽資料。

certificateProvider
Chrome 46 以上版本 (僅限 ChromeOS)

使用這個 API 將憑證公開給平台,讓平台可用這些憑證進行 TLS 驗證。

指令

使用指令 API 新增鍵盤快速鍵,以便在擴充功能中觸發動作,例如開啟瀏覽器動作或向擴充功能傳送指令。

contentSettings

使用 chrome.contentSettings API 變更設定,控制網站是否可使用 Cookie、JavaScript 和外掛程式等功能。一般來說,內容設定可讓你針對個別網站自訂 Chrome 的行為,而非全域設定。

contextMenus

使用 chrome.contextMenus API 將項目新增至 Google Chrome 的內容功能表。您可以選擇內容選單新增項目適用於哪些類型的物件,例如圖片、超連結和頁面。

Cookie

使用 chrome.cookies API 查詢及修改 Cookie,並在 Cookie 變更時收到通知。

偵錯工具

chrome.debugger API 是 Chrome 遠端偵錯通訊協定的替代傳輸方式。使用 chrome.debugger 附加至一或多個分頁,以便檢測網路互動、偵錯 JavaScript、變更 DOM 和 CSS 等。使用 Debuggee 屬性 tabId,以 sendCommand 指定分頁,並透過 onEvent 回呼的 tabId 轉送事件。

declarativeContent

使用 chrome.declarativeContent API 可根據網頁內容採取行動,且無須取得讀取網頁內容的權限。

declarativeNetRequest
Chrome 84 以上版本

chrome.declarativeNetRequest API 可用於指定宣告式規則,藉此封鎖或修改網路要求。這樣一來,擴充功能就能修改網路要求,而不必攔截並查看內容,進而提供更高的隱私權。

desktopCapture

桌面擷取 API 可擷取螢幕畫面、個別視窗或個別分頁的內容。

devtools.inspectedWindow

使用 chrome.devtools.inspectedWindow API 與檢查的視窗互動:取得檢查網頁的分頁 ID、評估檢查視窗中的程式碼、重新載入網頁,或取得網頁中的資源清單。

devtools.network

使用 chrome.devtools.network API 擷取開發人員工具在「網路」面板中顯示的網路要求相關資訊。

devtools.panels

使用 chrome.devtools.panels API 將擴充功能整合至「開發人員工具」視窗使用者介面:建立您自己的面板、存取現有面板,以及新增側欄。

devtools.performance
Chrome 129 以上版本

使用 chrome.devtools.performance API 在 DevTools 的「效能」面板中,監聽錄製狀態更新。

devtools.recorder
Chrome 105 以上版本

使用 chrome.devtools.recorder API 自訂開發人員工具中的錄音工具面板。

dns
開發人員管道

使用 chrome.dns API 進行 DNS 解析。

documentScan
Chrome 44 以上版本 (僅限 ChromeOS)

使用 chrome.documentScan API 從連接的文件掃描器中探索及擷取圖片。

dom
Chrome 88 以上版本

使用 chrome.dom API 存取擴充功能的特殊 DOM API

downloads

使用 chrome.downloads API,透過程式輔助方式啟動、監控、操作及搜尋下載項目。

enterprise.deviceAttributes
Chrome 46 以上版本 僅限 ChromeOS 需要政策

使用 chrome.enterprise.deviceAttributes API 讀取裝置屬性。注意:這個 API 僅適用於依企業政策強制安裝的擴充功能。

enterprise.hardwarePlatform
Chrome 71 以上版本 需要政策

使用 chrome.enterprise.hardwarePlatform API 取得瀏覽器執行的硬體平台製造商和型號。注意:這個 API 僅適用於依企業政策安裝的擴充功能。

enterprise.login
待處理 ChromeOS 專用 需要政策

使用 chrome.enterprise.login API 結束受管理的訪客工作階段。注意:這個 API 僅適用於在 ChromeOS 受管理的訪客工作階段中,透過企業政策安裝的擴充功能。

enterprise.networkingAttributes
Chrome 85 以上版本 僅限 ChromeOS 需要政策

使用 chrome.enterprise.networkingAttributes API 讀取目前網路的相關資訊。注意:這個 API 僅適用於依企業政策強制安裝的擴充功能。

enterprise.platformKeys
ChromeOS 專用 需要政策

使用 chrome.enterprise.platformKeys API 產生金鑰,並為這些金鑰安裝憑證。憑證會由平台管理,可用於 TLS 驗證、網路存取,或透過 chrome.platformKeys 由其他擴充功能使用。

事件

chrome.events 命名空間包含 API 用來調度事件的常用類型,可在發生有趣事件時通知您。

extension

chrome.extension API 提供可供任何擴充功能頁面使用的公用程式。這項功能可支援在擴充功能與其內容指令碼之間,或在擴充功能之間交換訊息,詳情請參閱「訊息傳遞」一文。

extensionTypes

chrome.extensionTypes API 包含 Chrome 擴充功能的型別宣告。

fileBrowserHandler
ChromeOS 專用 僅限前景

使用 chrome.fileBrowserHandler API 擴充 ChromeOS 檔案瀏覽器。舉例來說,您可以使用這個 API,讓使用者將檔案上傳至網站。

fileSystemProvider
僅限 ChromeOS

使用 chrome.fileSystemProvider API 建立檔案系統,並透過 Chrome OS 上的檔案管理員存取。

fontSettings

使用 chrome.fontSettings API 管理 Chrome 的字型設定。

gcm

使用 chrome.gcm 可讓應用程式和擴充功能透過 Firebase 雲端通訊 (FCM) 傳送及接收訊息。

history

使用 chrome.history API 與瀏覽器的已造訪網頁記錄互動。您可以在瀏覽器的瀏覽記錄中新增、移除及查詢網址。如要使用自己的版本覆寫歷史記錄頁面,請參閱「覆寫頁面」一文。

i18n

使用 chrome.i18n 基礎架構,在整個應用程式或擴充功能中實作國際化。

identity

使用 chrome.identity API 取得 OAuth2 存取權杖。

idle

使用 chrome.idle API 偵測機器的閒置狀態變更。

input.ime
僅限 ChromeOS

使用 chrome.input.ime API 為 ChromeOS 實作自訂 IME。這樣一來,擴充功能就能處理按鍵輸入、設定組合,以及管理候選視窗。

instanceID
Chrome 44 以上版本

使用 chrome.instanceID 存取 Instance ID 服務。

loginState
Chrome 78 以上版本 ChromeOS 專屬

使用 chrome.loginState API 讀取及監控登入狀態。

管理

chrome.management API 提供管理已安裝應用程式和擴充功能的方法。

notifications

使用 chrome.notifications API 搭配範本建立豐富的通知,並在系統通知方塊中向使用者顯示這些通知。

offscreen
Chrome 109 以上版本 MV3 以上版本

使用 offscreen API 建立及管理離螢幕文件。

omnibox

網址列 API 可讓您在 Google Chrome 的網址列 (又稱為網址列) 中註冊關鍵字。

pageCapture

使用 chrome.pageCapture API 將分頁儲存為 MHTML。

權限

請使用 chrome.permissions API,在執行階段 (而非安裝階段) 要求已宣告的選用權限,讓使用者瞭解為何需要這些權限,並只授予必要的權限。

platformKeys
Chrome 45 以上版本 ChromeOS 專用

使用 chrome.platformKeys API 存取平台管理的用戶端憑證。如果使用者或政策授予權限,擴充功能就能在自訂驗證通訊協定中使用這類憑證。例如,這可讓您在第三方 VPN 中使用平台管理的憑證 (請參閱 chrome.vpnProvider)。

power

使用 chrome.power API 覆寫系統的電源管理功能。

printerProvider
Chrome 44 以上版本

chrome.printerProvider API 會公開事件,供列印管理工具用來查詢由擴充功能控制的印表機,以便查詢其功能,並將列印工作提交給這些印表機。

列印
Chrome 81 以上版本 ChromeOS 專用

使用 chrome.printing API 將列印工作傳送至 Chromebook 上安裝的印表機。

printingMetrics
Chrome 79 以上版本 僅限 ChromeOS 需要政策

使用 chrome.printingMetrics API 擷取列印用量資料。

隱私權

使用 chrome.privacy API 控管 Chrome 中可能影響使用者隱私權的功能。這個 API 會使用 ChromeSetting 類型 API 的原型,用於取得及設定 Chrome 的設定。

程序
開發人員管道

使用 chrome.processes API 與瀏覽器的程序互動。

proxy

請使用 chrome.proxy API 管理 Chrome 的 Proxy 設定。這個 API 會使用 API 類型的 ChromeSetting 原型,取得及設定 Proxy 設定。

readingList
Chrome 120 以上版本 MV3 以上版本

使用 chrome.readingList API 讀取及修改閱讀清單中的項目。

runtime

使用 chrome.runtime API 擷取服務工作者、傳回資訊清單的詳細資料,並監聽擴充功能生命週期中的事件並做出回應。您也可以使用這個 API,將網址的相對路徑轉換為完整網址。

編寫指令碼
Chrome 88 以上版本 MV3 以上版本

使用 chrome.scripting API 在不同情境下執行指令碼。

search
Chrome 87 以上版本

使用 chrome.search API 透過預設供應器搜尋。

工作階段

使用 chrome.sessions API 查詢及還原瀏覽工作階段中的分頁和視窗。

sidePanel
Chrome 114 以上版本 MV3 以上版本

使用 chrome.sidePanel API 在瀏覽器的側邊面板中代管內容,並與網頁的主要內容並列。

storage

使用 chrome.storage API 儲存、擷取及追蹤使用者資料的變更。

system.cpu

使用 system.cpu API 查詢 CPU 中繼資料。

system.display

使用 system.display API 查詢顯示中繼資料。

system.memory

chrome.system.memory API。

system.storage

使用 chrome.system.storage API 查詢儲存裝置資訊,並在可移除儲存裝置連接和解除連接時收到通知。

systemLog
Chrome 125 以上版本 僅限 ChromeOS 需要政策

使用 chrome.systemLog API 記錄擴充功能的 Chrome 系統記錄。

tabCapture

使用 chrome.tabCapture API 與分頁媒體串流互動。

tabGroups
Chrome 89 以上版本 MV3 以上版本

使用 chrome.tabGroups API 與瀏覽器的分頁標籤群組系統互動。您可以使用這項 API 修改及重新排列瀏覽器中的分頁群組。如要將分頁分組或取消分組,或是查詢群組中的分頁,請使用 chrome.tabs API。

分頁

使用 chrome.tabs API 與瀏覽器的分頁系統互動。您可以使用這個 API 在瀏覽器中建立、修改及重新排列分頁。

topSites

使用 chrome.topSites API 存取新分頁頁面上顯示的熱門網站 (即造訪次數最多的網站)。但不包含使用者自訂的捷徑。

tts

使用 chrome.tts API 播放合成的文字轉語音 (TTS)。另請參閱相關的 ttsEngine API,讓擴充功能實作語音引擎。

ttsEngine

使用 chrome.ttsEngine API 實作文字轉語音(TTS) 引擎,並使用擴充功能。如果擴充功能是使用這個 API 註冊,當任何擴充功能或 Chrome 應用程式使用 tts API 產生語音時,擴充功能就會收到包含要朗讀的字詞和其他參數的事件。擴充功能接著可以使用任何可用的網路技術來合成及輸出語音,並將事件傳回呼叫函式,以便回報狀態。

類型

chrome.types API 包含 Chrome 的型別宣告。

userScripts
Chrome 120 以上版本 MV3 以上版本

使用 userScripts API 在「User Scripts」情境中執行使用者指令碼。

vpnProvider
Chrome 43 以上版本 僅限 ChromeOS

使用 chrome.vpnProvider API 導入 VPN 用戶端。

桌布
Chrome 43 以上版本 僅限 ChromeOS

使用 chrome.wallpaper API 變更 ChromeOS 桌布。

webAuthenticationProxy
Chrome 115 以上版本 MV3 以上版本

chrome.webAuthenticationProxy API 可讓在遠端主機上執行的遠端桌面軟體攔截 Web 驗證 API (WebAuthn) 要求,以便在本機用戶端上處理這些要求。

webNavigation

使用 chrome.webNavigation API 接收導航要求執行中狀態的通知。

webRequest

使用 chrome.webRequest API 觀察及分析流量,並攔截、封鎖或修改傳輸中的要求。

windows

使用 chrome.windows API 與瀏覽器視窗互動。您可以使用這個 API 在瀏覽器中建立、修改及重新排列視窗。