API 參考資料

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

accessibilityFeatures

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

鬧鐘

使用 chrome.alarms API 安排程式碼定期執行,或在未來指定時間執行。

audio
Chrome 59 以上版本 僅適用於 ChromeOS

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

書籤

使用 chrome.bookmarks API 建立、整理及操作書籤。另請參閱覆寫頁面,瞭解如何建立自訂書籤管理工具頁面。

browserAction
≤ MV2

使用瀏覽器動作,將圖示放在 Google Chrome 主要工具列的網址列右側。除了圖示,瀏覽器動作還可以有工具提示徽章彈出式視窗

browsingData

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

certificateProvider
Chrome 46 以上版本 僅適用於 ChromeOS

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

指令

使用 Commands 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 屬性 tabIdsendCommand 為目標,並透過 onEvent 回呼中的 tabId 轉送事件。

declarativeContent

使用 chrome.declarativeContent API 根據網頁內容採取行動,不必取得讀取網頁內容的權限。

declarativeNetRequest
Chrome 84 以上版本

chrome.declarativeNetRequest API 可透過指定宣告式規則,封鎖或修改網路要求。擴充功能可藉此修改網路要求,不必攔截要求或查看內容,因此能提供更多隱私權保障。

declarativeWebRequest
Beta 版頻道 ≤ MV2

注意:這項 API 已淘汰。請改用 declarativeNetRequest API。使用 chrome.declarativeWebRequest API 攔截、封鎖或修改傳輸中的要求。由於您可以在瀏覽器 (而非 JavaScript 引擎) 中註冊要評估的規則,因此比 chrome.webRequest API 快上許多,可減少往返延遲時間,並提高效率。

desktopCapture

Desktop Capture API 可擷取螢幕、個別視窗或個別分頁的內容。

devtools.inspectedWindow

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

devtools.network

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

devtools.panels

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

devtools.performance
Chrome 129 以上版本

使用 chrome.devtools.performance API 監聽開發人員工具「效能」面板中的記錄狀態更新。

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 用來傳送事件的常見型別,可在發生有趣事件時通知您。

擴充功能

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

extensionTypes

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

fileBrowserHandler
僅限 ChromeOS 僅限前景

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

fileSystemProvider
僅適用於 ChromeOS

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

fontSettings

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

gcm

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

記錄

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

i18n

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

身分

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

閒置

使用 chrome.idle API 偵測電腦閒置狀態的變化。

input.ime
僅適用於 ChromeOS

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

instanceID
Chrome 44 以上版本

使用 chrome.instanceID 存取執行個體 ID 服務。

loginState
Chrome 78 以上版本 僅適用於 ChromeOS

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

管理

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

通知

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

omnibox

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

pageAction
≤ MV2

使用 chrome.pageAction 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 依賴 ChromeSetting 原型 (屬於 API 類型) 來取得及設定 Proxy 設定。

執行階段

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

search
Chrome 87 以上版本

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

工作階段

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

儲存空間

使用 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 與分頁媒體串流互動。

分頁

使用 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 的型別宣告。

vpnProvider
Chrome 43 以上版本 僅適用於 ChromeOS

使用 chrome.vpnProvider API 實作 VPN 用戶端。

桌布
Chrome 43 以上版本 僅適用於 ChromeOS

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

webNavigation

使用 chrome.webNavigation API 接收有關導航要求狀態的通知。

webRequest

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

windows

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