大多數擴充功能都需要存取一或多個 Chrome 擴充功能 API 才能運作。這份 API 參考資料說明擴充功能可用的 API,並提供範例用途。
從 Chrome 148 開始,這些 API 也可在 browser
命名空間下使用,做為 chrome 的跨瀏覽器替代方案。如需採用指南,請參閱「瀏覽器命名空間」。
Common Extensions API 功能
擴充功能 API 包含命名空間,其中含有用於執行擴充功能工作的各種方法和屬性,以及 manifest.json 檔案的資訊清單欄位 (通常但不一定)。舉例來說,chrome.action 命名空間需要在資訊清單中加入 "action" 物件。許多 API 也需要在資訊清單中提供權限。
除非另有說明,否則擴充功能 API 中的方法為非同步。非同步方法會立即傳回,不會等待呼叫作業完成。使用Promise 取得這些非同步方法的結果。
Chrome 擴充功能 API
- accessibilityFeatures
-
使用
chrome.accessibilityFeaturesAPI 管理 Chrome 的無障礙功能。這個 API 依賴 ChromeSetting 原型 (屬於類型 API),用於取得及設定個別無障礙功能。如要取得功能狀態,擴充功能必須要求accessibilityFeatures.read權限。如要修改功能狀態,擴充功能需要accessibilityFeatures.modify權限。請注意,accessibilityFeatures.modify不代表accessibilityFeatures.read權限。 - 動作
-
Chrome 88 以上版本 MV3 以上版本
使用
chrome.actionAPI 控制 Google Chrome 工具列中的擴充功能圖示。 - 鬧鐘
-
使用
chrome.alarmsAPI 安排程式碼定期執行,或在未來指定時間執行。 - audio
-
Chrome 59 以上版本 僅適用於 ChromeOS
chrome.audioAPI 可讓使用者取得系統連接的音訊裝置資訊,並控制這些裝置。這項 API 目前僅適用於 ChromeOS 的 Kiosk 模式。 - 書籤
-
使用
chrome.bookmarksAPI 建立、整理及操作書籤。另請參閱覆寫頁面,瞭解如何建立自訂書籤管理工具頁面。 - browsingData
-
使用
chrome.browsingDataAPI 從使用者的本機設定檔中移除瀏覽資料。 - certificateProvider
-
Chrome 46 以上版本 僅適用於 ChromeOS
使用這個 API 將憑證公開給平台,平台即可使用這些憑證進行 TLS 驗證。
- 指令
-
使用 Commands API 新增鍵盤快速鍵,在擴充功能中觸發動作,例如開啟瀏覽器動作或傳送指令給擴充功能。
- contentSettings
-
使用
chrome.contentSettingsAPI 變更設定,控管網站是否能使用 Cookie、JavaScript 和外掛程式等功能。一般來說,內容設定可讓您根據個別網站自訂 Chrome 的行為,而非全域設定。 - contextMenus
-
使用
chrome.contextMenusAPI 將項目新增至 Google Chrome 的內容選單。您可以選擇內容選單增項適用的物件類型,例如圖片、超連結和網頁。 - Cookie
-
使用
chrome.cookiesAPI 查詢及修改 Cookie,並在 Cookie 變更時收到通知。 - 偵錯工具
-
chrome.debuggerAPI 可做為 Chrome 遠端偵錯通訊協定的替代傳輸方式。使用chrome.debugger附加至一或多個分頁,即可檢測網路互動、偵錯 JavaScript、變更 DOM 和 CSS 等等。使用Debuggee屬性tabId,以sendCommand為目標分頁,並透過onEvent回呼的tabId轉送事件。 - declarativeContent
-
使用
chrome.declarativeContentAPI 根據網頁內容採取行動,不必取得讀取網頁內容的權限。 - declarativeNetRequest
-
Chrome 84 以上版本
chrome.declarativeNetRequestAPI 可透過指定宣告式規則,封鎖或修改網路要求。這樣一來,擴充功能就能修改網路要求,不必攔截要求或查看內容,進一步保障隱私。 - desktopCapture
-
螢幕畫面直播 API 會擷取螢幕、個別視窗或個別分頁的內容。
- devtools.inspectedWindow
-
使用
chrome.devtools.inspectedWindowAPI 與檢查的視窗互動:取得檢查頁面的分頁 ID、評估檢查視窗環境中的程式碼、重新載入頁面,或取得頁面中的資源清單。 - devtools.network
-
使用
chrome.devtools.networkAPI 擷取開發人員工具「網路」面板中顯示的網路要求相關資訊。 - devtools.panels
-
使用
chrome.devtools.panelsAPI 將擴充功能整合至開發人員工具視窗 UI:建立專屬面板、存取現有面板,以及新增側欄。 - devtools.performance
-
Chrome 129 以上版本
使用
chrome.devtools.performanceAPI 監聽開發人員工具「效能」面板中的記錄狀態更新。 - devtools.recorder
-
Chrome 105 以上版本
使用
chrome.devtools.recorderAPI 自訂開發人員工具中的「記錄器」面板。 - dns
-
開發人員版
使用
chrome.dnsAPI 進行 DNS 解析。 - documentScan
-
Chrome 44 以上版本 僅適用於 ChromeOS
使用
chrome.documentScanAPI 探索及擷取連接的文件掃描器中的圖片。 - dom
-
Chrome 88 以上版本
使用
chrome.domAPI 存取擴充功能的特殊 DOM API - 下載
-
使用
chrome.downloadsAPI,以程式輔助方式啟動、監控、操控及搜尋下載作業。 - enterprise.deviceAttributes
-
使用
chrome.enterprise.deviceAttributesAPI 讀取裝置屬性。注意:這項 API 僅適用於依企業政策強制安裝的擴充功能。 - enterprise.hardwarePlatform
-
Chrome 71 以上版本 需要政策
使用
chrome.enterprise.hardwarePlatformAPI 取得執行瀏覽器的硬體平台製造商和型號。注意:這項 API 僅適用於透過企業政策安裝的擴充功能。 - enterprise.login
-
使用
chrome.enterprise.loginAPI 結束受管理的訪客工作階段。注意:這項 API 僅適用於透過企業政策安裝的擴充功能,且必須在 ChromeOS 受管理的訪客工作階段中執行。 - enterprise.networkingAttributes
-
使用
chrome.enterprise.networkingAttributesAPI 讀取目前網路的相關資訊。注意:這項 API 僅適用於依企業政策強制安裝的擴充功能。 - enterprise.platformKeys
-
僅適用於 ChromeOS 需要政策
使用
chrome.enterprise.platformKeysAPI 產生金鑰,並為這些金鑰安裝憑證。憑證由平台管理,可用於 TLS 驗證、網路存取,或透過 chrome.platformKeys 供其他擴充功能使用。 - 事件
-
chrome.events命名空間包含 API 用來傳送事件的常見型別,可在發生有趣事件時通知您。 - 擴充功能
-
chrome.extensionAPI 包含任何擴充功能頁面都能使用的公用程式。包括支援在擴充功能及其內容指令碼之間,或是在擴充功能之間交換訊息,詳情請參閱「訊息傳遞」。 - extensionTypes
-
chrome.extensionTypesAPI 包含 Chrome 擴充功能的型別宣告。 - fileBrowserHandler
-
僅限 ChromeOS 僅限前景
使用
chrome.fileBrowserHandlerAPI 擴充 ChromeOS 檔案瀏覽器。舉例來說,您可以使用這個 API,讓使用者將檔案上傳至網站。 - fileSystemProvider
-
僅適用於 ChromeOS
使用
chrome.fileSystemProviderAPI 建立檔案系統,並透過 ChromeOS 裝置上的檔案管理員存取。 - fontSettings
-
使用
chrome.fontSettingsAPI 管理 Chrome 的字型設定。 - gcm
-
使用
chrome.gcm讓應用程式和擴充功能透過 Firebase 雲端通訊 (FCM) 傳送及接收訊息。 - 記錄
-
使用
chrome.historyAPI 與瀏覽器記錄的造訪頁面互動。您可以在瀏覽器的記錄中新增、移除及查詢網址。如要使用自己的版本覆寫記錄頁面,請參閱「覆寫頁面」。 - i18n
-
使用
chrome.i18n基礎架構,在整個應用程式或擴充功能中導入國際化功能。 - 身分
-
使用
chrome.identityAPI 取得 OAuth2 存取權杖。 - 閒置
-
使用
chrome.idleAPI 偵測電腦閒置狀態的變化。 - input.ime
-
僅適用於 ChromeOS
使用
chrome.input.imeAPI 為 ChromeOS 實作自訂 IME。這樣一來,擴充功能就能處理按鍵輸入、設定組合,以及管理候選字視窗。 - instanceID
-
Chrome 44 以上版本
使用
chrome.instanceID存取 Instance ID 服務。 - loginState
-
Chrome 78 以上版本 僅適用於 ChromeOS
使用
chrome.loginStateAPI 讀取及監控登入狀態。 - 管理
-
chrome.managementAPI 提供管理已安裝應用程式和擴充功能的方法。 - 通知
-
使用
chrome.notificationsAPI 透過範本建立豐富的通知,並在系統匣中向使用者顯示這些通知。 - offscreen
-
Chrome 109 以上版本 MV3 以上版本
使用
offscreenAPI 建立及管理螢幕外文件。 - omnibox
-
透過多功能方塊 API,您可以在 Google Chrome 的網址列 (又稱多功能方塊) 註冊關鍵字。
- pageCapture
-
使用
chrome.pageCaptureAPI 將分頁儲存為 MHTML。 - 權限
-
請使用
chrome.permissionsAPI 在執行階段要求已宣告的選用權限,而非在安裝時要求,讓使用者瞭解為何需要這些權限,並只授予必要的權限。 - platformKeys
-
Chrome 45 以上版本 僅適用於 ChromeOS
使用
chrome.platformKeysAPI 存取平台管理的用戶端憑證。如果使用者或政策授予權限,擴充功能就能在自訂驗證通訊協定中使用這類憑證。舉例來說,這項功能可讓第三方 VPN 使用平台管理的憑證 (請參閱 chrome.vpnProvider)。 - power
-
使用
chrome.powerAPI 覆寫系統的電源管理功能。 - printerProvider
-
Chrome 44 以上版本
chrome.printerProviderAPI 會公開列印管理員使用的事件,以便查詢擴充功能控管的印表機、查詢印表機功能,以及將列印工作提交至這些印表機。 - 列印
-
Chrome 81 以上版本 僅適用於 ChromeOS
使用
chrome.printingAPI 將列印工作傳送至 Chromebook 上安裝的印表機。 - printingMetrics
-
使用
chrome.printingMetricsAPI 擷取列印用量資料。 - 隱私權
-
使用
chrome.privacyAPI 控管 Chrome 中可能影響使用者隱私權的功能。這個 API 依賴 ChromeSetting 原型 (屬於 type API) 來取得及設定 Chrome 的設定。 - 程序
-
開發人員版
使用
chrome.processesAPI 與瀏覽器程序互動。 - proxy
-
使用
chrome.proxyAPI 管理 Chrome 的 Proxy 設定。這個 API 依賴 ChromeSetting 原型 (屬於 API 類型) 來取得及設定 Proxy 設定。 - readingList
-
Chrome 120 以上版本 MV3 以上版本
使用
chrome.readingListAPI 讀取及修改閱讀清單中的項目。 - runtime
-
使用
chrome.runtimeAPI 擷取 Service Worker、傳回資訊清單的詳細資料,以及監聽並回應擴充功能生命週期中的事件。您也可以使用這個 API,將網址的相對路徑轉換為完整網址。 - 編寫指令碼
-
Chrome 88 以上版本 MV3 以上版本
使用
chrome.scriptingAPI 在不同環境中執行指令碼。 - search
-
Chrome 87 以上版本
使用
chrome.searchAPI 透過預設供應商搜尋。 - 工作階段
-
使用
chrome.sessionsAPI 查詢及還原瀏覽工作階段的分頁和視窗。 - sidePanel
-
Chrome 114 以上版本 MV3 以上版本
使用
chrome.sidePanelAPI 在瀏覽器的側邊面板中,與網頁的主要內容並列顯示內容。 - 儲存空間
-
使用
chrome.storageAPI 儲存、擷取及追蹤使用者資料的變更。 - system.cpu
-
使用
system.cpuAPI 查詢 CPU 中繼資料。 - system.display
-
使用
system.displayAPI 查詢向上傳者顯示的中繼資料。 - system.memory
-
chrome.system.memoryAPI。 - system.storage
-
使用
chrome.system.storageAPI 查詢儲存裝置資訊,並在可移除式儲存裝置連接及卸除時收到通知。 - systemLog
-
使用
chrome.systemLogAPI 從擴充功能記錄 Chrome 系統記錄。 - tabCapture
-
使用
chrome.tabCaptureAPI 與分頁媒體串流互動。 - tabGroups
-
Chrome 89 以上版本 MV3 以上版本
使用
chrome.tabGroupsAPI 與瀏覽器的分頁群組系統互動。您可以使用這個 API 修改及重新排列瀏覽器中的分頁群組。如要將分頁歸入群組或取消分組,或是查詢群組中的分頁,請使用chrome.tabsAPI。 - 分頁
-
使用
chrome.tabsAPI 與瀏覽器的分頁系統互動。您可以使用這個 API 在瀏覽器中建立、修改及重新排列分頁。 - topSites
-
使用
chrome.topSitesAPI 存取新分頁上顯示的熱門網站 (即最常造訪的網站)。不包括使用者自訂的快速鍵。 - tts
-
使用
chrome.ttsAPI 播放合成的文字轉語音 (TTS)。另請參閱相關的ttsEngineAPI,擴充功能可藉此實作語音引擎。 - ttsEngine
-
使用
chrome.ttsEngineAPI,透過擴充功能實作文字轉語音(TTS) 引擎。如果擴充功能使用這個 API 註冊,當任何擴充功能或 Chrome 應用程式使用ttsAPI 生成語音時,擴充功能就會收到含有待說語音和其他參數的事件。擴充功能接著可以使用任何可用的網頁技術合成及輸出語音,並將事件傳回呼叫函式,以回報狀態。 - 類型
-
chrome.typesAPI 包含 Chrome 的型別宣告。 - userScripts
-
Chrome 120 以上版本 MV3 以上版本
使用
userScriptsAPI 在使用者指令碼環境中執行使用者指令碼。 - vpnProvider
-
Chrome 43 以上版本 僅適用於 ChromeOS
使用
chrome.vpnProviderAPI 實作 VPN 用戶端。 - 桌布
-
Chrome 43 以上版本 僅適用於 ChromeOS
使用
chrome.wallpaperAPI 變更 ChromeOS 桌布。 - webAuthenticationProxy
-
Chrome 115 以上版本 MV3 以上版本
遠端主機上執行的遠端桌面軟體可透過
chrome.webAuthenticationProxyAPI 攔截 Web Authentication API (WebAuthn) 要求,以便在本機用戶端上處理這些要求。 - webNavigation
-
使用
chrome.webNavigationAPI 接收有關導航要求狀態的通知。 - webRequest
-
使用
chrome.webRequestAPI 觀察及分析流量,並攔截、封鎖或修改傳輸中的要求。 - 視窗
-
使用
chrome.windowsAPI 與瀏覽器視窗互動。您可以使用這個 API 在瀏覽器中建立、修改及重新排列視窗。