大多數擴充功能需要存取一或多個 Chrome 擴充功能 API 才能運作。本 API 參考資料說明擴充功能可用的 API,並提供用途範例。
自 Chrome 148 起,這些 API 也可在 browser 命名空間下使用,做為 chrome 的跨瀏覽器替代方案。如需採用指南,請參閱「瀏覽器命名空間」。
常見的 Extensions API 功能
Extensions API 包含命名空間,其中含有執行擴充功能工作的方法和屬性,通常 (但並非一律) 包含 manifest.json 檔案的資訊清單欄位。例如,browser.action 命名空間需要在資訊清單中加入 "action" 物件。許多 API 也需要在資訊清單中設定權限。
除非另有說明,否則擴充功能 API 中的方法都是非同步。非同步方法會立即傳回,不會等待呼叫這些方法的作業完成。使用 Promise 取得這些非同步方法的結果。
Chrome 擴充功能 API
- accessibilityFeatures
-
使用
chrome.accessibilityFeaturesAPI 管理 Chrome 的無障礙功能。這個 API 仰賴 API 類型的 ChromeSetting 原型,來取得及設定個別無障礙功能。擴充功能必須要求accessibilityFeatures.read權限,才能取得功能狀態。如要修改功能狀態,擴充功能需要accessibilityFeatures.modify權限。請注意,accessibilityFeatures.modify不代表具備accessibilityFeatures.read權限。 - 動作
-
Chrome 88 以上版本 瀏覽器。*自 Chrome 148 起 MV3 以上版本
使用
chrome.actionAPI 控制 Google Chrome 工具列中的擴充功能圖示。 - alarms
-
使用
chrome.alarmsAPI 排定程式碼定期執行,或在未來指定時間執行。 - audio
-
Chrome 59 以上版本 Chrome 148 以上版本的瀏覽器* 僅適用於 ChromeOS
chrome.audioAPI 可讓使用者取得系統連接的音訊裝置相關資訊,並控制這些裝置。這個 API 目前僅適用於 ChromeOS 的 Kiosk 模式。 - 書籤
-
使用
chrome.bookmarksAPI 建立、整理及操控書籤。另請參閱「覆寫頁面」,瞭解如何建立自訂書籤管理員頁面。 - browsingData
-
使用
chrome.browsingDataAPI 移除使用者本機設定檔中的瀏覽資料。 - certificateProvider
-
Chrome 46 以上版本 Chrome 148 以上版本支援 browser.* 僅適用於 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 148 以上版本的瀏覽器。*
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 152 起
使用
chrome.devtools.performanceAPI,在開發人員工具的「Performance」面板中監聽錄製狀態更新。 - devtools.recorder
-
Chrome 105 以上版本 瀏覽器。*自 Chrome 152 起
使用
chrome.devtools.recorderAPI 自訂開發人員工具中的「錄製器」面板。 - dns
-
開發人員版
使用
chrome.dnsAPI 進行 DNS 解析。 - documentScan
-
Chrome 44 以上版本 Chrome 148 以上版本為 browser.* 僅限 ChromeOS
使用
chrome.documentScanAPI 探索及擷取連接的文件掃描器中的圖片。 - dom
-
Chrome 88 以上版本 Chrome 148 起為瀏覽器。*
使用
chrome.domAPI 存取擴充功能專用的 DOM API - 下載內容
-
使用
chrome.downloadsAPI,透過程式輔助方式啟動、監控、操控及搜尋下載內容。 - enterprise.deviceAttributes
-
使用
chrome.enterprise.deviceAttributesAPI 讀取裝置屬性。注意:這個 API 僅適用於依企業政策強制安裝的擴充功能。 - enterprise.hardwarePlatform
-
使用
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 用來調度事件的常見類型,可在發生重要事件時通知您。 - extension
-
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基礎架構,在整個應用程式或擴充功能中實作國際化。 - identity
-
使用
chrome.identityAPI 取得 OAuth2 存取權杖。 - idle
-
使用
chrome.idleAPI 偵測機器閒置狀態何時變更。 - input.ime
-
僅適用於 ChromeOS
使用
chrome.input.imeAPI 為 ChromeOS 實作自訂 IME。這樣一來,擴充功能就能處理按鍵動作、設定組合結構,以及管理候選字視窗。 - instanceID
-
Chrome 44 以上版本 瀏覽器。*自 Chrome 148 起
使用
chrome.instanceID存取 Instance ID 服務。 - loginState
-
Chrome 78 以上版本 Chrome 148 以上版本為 browser.* 僅限 ChromeOS
使用
chrome.loginStateAPI 讀取及監控登入狀態。 - 管理
-
chrome.managementAPI 提供管理已安裝應用程式和擴充功能的方法。 - mimeHandler
-
Chrome 151 以上版本
使用
chrome.mimeHandlerAPI 處理第三方擴充功能中的 MIME 類型串流。 - 通知
-
使用
chrome.notificationsAPI,透過範本建立豐富的通知,並在系統匣中向使用者顯示這些通知。 - offscreen
-
Chrome 109+ browser.* (Chrome 148 起) MV3+
使用
offscreenAPI 建立及管理螢幕外文件。 - omnibox
-
Omnibox API 可讓您在 Google Chrome 的網址列 (也稱為多功能框) 註冊關鍵字。
- pageCapture
-
使用
chrome.pageCaptureAPI 將分頁儲存為 MHTML。 - 權限
-
使用
chrome.permissionsAPI 在執行階段 (而非安裝階段) 要求宣告的選用權限,讓使用者瞭解需要權限的原因,並只授予必要權限。 - platformKeys
-
Chrome 45 以上版本 Chrome 148 以上版本支援 browser.* 僅適用於 ChromeOS
使用
chrome.platformKeysAPI 存取平台管理的用戶端憑證。如果使用者或政策授予權限,擴充功能就能在自訂驗證通訊協定中使用這類憑證。舉例來說,這可讓第三方 VPN 使用平台管理的憑證 (請參閱 chrome.vpnProvider)。 - power
-
使用
chrome.powerAPI 覆寫系統的電源管理功能。 - printerProvider
-
Chrome 44 以上版本 瀏覽器。*自 Chrome 148 起
chrome.printerProviderAPI 會公開列印管理員使用的事件,以便查詢由擴充功能控制的印表機、查詢其功能,以及將列印工作提交至這些印表機。 - 列印
-
Chrome 81 以上版本 Chrome 148 以上版本:browser.* 僅適用於 ChromeOS
使用
chrome.printingAPI 將列印工作傳送至 Chromebook 上安裝的印表機。 - printingMetrics
-
使用
chrome.printingMetricsAPI 擷取列印用量資料。 - 隱私權
-
使用
chrome.privacyAPI 控制 Chrome 中可能影響使用者隱私的功能。這個 API 仰賴 ChromeSetting 類型的 API 原型,來取得及設定 Chrome 的配置。 - processes
-
開發人員版
使用
chrome.processesAPI 與瀏覽器的程序互動。 - proxy
-
使用
chrome.proxyAPI 管理 Chrome 的 Proxy 設定。這個 API 仰賴 ChromeSetting 類型的 API 原型,來取得及設定 Proxy 設定。 - publicSuffix
-
Chrome 153 以上版本
使用
chrome.publicSuffixAPI 查詢瀏覽器的公用後置字串清單 (PSL)。 - readingList
-
Chrome 120 以上版本 瀏覽器* (自 Chrome 148 起) MV3 以上版本
使用
chrome.readingListAPI 讀取及修改閱讀清單中的項目。 - runtime
-
使用
chrome.runtimeAPI 擷取 Service Worker、傳回資訊清單的詳細資料,以及監聽和回應擴充功能生命週期中的事件。您也可以使用這個 API,將網址的相對路徑轉換為完整網址。 - 編寫指令碼
-
Chrome 88 以上版本 瀏覽器。*自 Chrome 148 起 MV3 以上版本
使用
chrome.scriptingAPI 在不同情境中執行指令碼。 - search
-
Chrome 87 以上版本 Chrome 148 起為 browser.*
使用
chrome.searchAPI 透過預設供應器搜尋。 - 工作階段
-
使用
chrome.sessionsAPI 查詢及還原瀏覽工作階段的分頁和視窗。 - sidePanel
-
Chrome 114 以上版本 瀏覽器。*自 Chrome 148 起 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 以上版本 Chrome 148 起為 browser.* MV3 以上版本
使用
chrome.tabGroupsAPI 與瀏覽器的分頁群組系統互動。您可以使用這個 API 修改及重新排列瀏覽器中的分頁群組。如要將分頁分組和取消分組,或查詢群組中的分頁,請使用chrome.tabsAPI。 - 分頁
-
使用
chrome.tabsAPI 與瀏覽器的分頁系統互動。您可以使用這個 API 在瀏覽器中建立、修改及重新排列分頁。 - topSites
-
使用
chrome.topSitesAPI 存取新分頁上顯示的熱門網站 (即最常造訪的網站)。不含使用者自訂的捷徑。 - tts
-
使用
chrome.ttsAPI 播放合成的文字轉語音 (TTS) 內容。另請參閱相關的ttsEngineAPI,該 API 可讓擴充功能實作語音引擎。 - ttsEngine
-
使用
chrome.ttsEngineAPI,透過擴充功能實作文字轉語音(TTS) 引擎。如果擴充功能使用這個 API 註冊,當任何擴充功能或 Chrome 應用程式使用ttsAPI 產生語音時,就會收到包含要朗讀語音和其他參數的事件。接著,擴充功能可以使用任何可用的網路技術合成及輸出語音,並將事件傳回呼叫函式,回報狀態。 - types
-
chrome.typesAPI 包含 Chrome 的類型宣告。 - userScripts
-
Chrome 120 以上版本 瀏覽器* (自 Chrome 148 起) MV3 以上版本
使用
userScriptsAPI 在使用者指令碼情境中執行使用者指令碼。 - vpnProvider
-
Chrome 43 以上版本 Chrome 148 以上版本支援 browser.* 僅適用於 ChromeOS
使用
chrome.vpnProviderAPI 導入 VPN 用戶端。 - 桌布
-
Chrome 43 以上版本 Chrome 148 以上版本支援 browser.* 僅適用於 ChromeOS
使用
chrome.wallpaperAPI 變更 ChromeOS 桌布。 - webAuthenticationProxy
-
Chrome 115 以上版本 瀏覽器。*自 Chrome 148 起 MV3 以上版本
chrome.webAuthenticationProxyAPI 可讓在遠端主機上執行的遠端桌面軟體攔截 Web Authentication API (WebAuthn) 要求,以便在本機用戶端上處理這些要求。 - webNavigation
-
使用
chrome.webNavigationAPI 接收導航要求狀態通知。 - webRequest
-
使用
chrome.webRequestAPI 觀察及分析流量,並攔截、封鎖或修改傳輸中的要求。 - windows
-
使用
chrome.windowsAPI 與瀏覽器視窗互動。您可以使用這個 API 在瀏覽器中建立、修改及重新排列視窗。