多數擴充功能都需要存取一或多個 Chrome 擴充功能 API,才能正常運作。本 API 參考資料說明可在擴充功能中使用的 API,並提供用途範例。
常見的 Extensions API 功能
Extensions API 包含一個命名空間,其中包含執行擴充功能的方法和屬性,通常 (但非一定) 的 manifest.json
檔案資訊清單欄位。舉例來說,chrome.action
命名空間需要資訊清單中的 "action"
物件。許多 API 也會需要資訊清單中的權限。
除非另有說明,否則擴充功能 API 中的方法為非同步性質。非同步方法會立即傳回,無需等待呼叫這些方法的作業完成。使用承諾取得這些方法的結果。詳情請參閱非同步方法。
Chrome 擴充功能 API
- accessibilityFeatures
-
您可以使用
chrome.accessibilityFeatures
API 管理 Chrome 無障礙功能。這個 API 需要 ChromeSetting 類型 API 原型取得及設定個別無障礙功能。如要取得功能狀態,擴充功能必須要求accessibilityFeatures.read
權限。擴充功能必須具備accessibilityFeatures.modify
權限,才能修改功能狀態。請注意,accessibilityFeatures.modify
不會隱含accessibilityFeatures.read
權限。 - 動作
-
Chrome 88 以上版本 MV3 以上版本
使用
chrome.action
API 控制 Google Chrome 工具列中的擴充功能圖示。 - 鬧鐘
-
如要安排定期或日後指定時間執行程式碼,請使用
chrome.alarms
API。 - 音訊
-
Chrome 59 以上版本 僅限 ChromeOS
使用者可以利用
chrome.audio
API 取得及控制系統連接的音訊裝置相關資訊。這個 API 目前只能在 ChromeOS 的 Kiosk 模式中使用。 - 書籤
-
使用
chrome.bookmarks
API 建立、整理或控制書籤。另請參閱覆寫網頁,瞭解如何建立自訂書籤管理員頁面。 - browsingData
-
使用
chrome.browsingData
API 從使用者本機設定檔移除瀏覽資料。 - certificateProvider
-
Chrome 46 以上版本 僅限 ChromeOS
請使用這個 API 提供憑證給平台,讓平台能使用這些憑證執行 TLS 驗證。
- 指令
-
你可以使用 Command API 新增鍵盤快速鍵,在擴充功能中觸發動作,例如開啟瀏覽器動作或傳送指令給擴充功能。
- contentSettings
-
使用
chrome.contentSettings
API 即可變更設定,控制網站是否能使用 Cookie、JavaScript 和外掛程式等功能。簡單來說,內容設定可讓您針對個別網站自訂 Chrome 的行為,而不是全域。 - contextMenus
-
如要在 Google Chrome 的內容選單中新增項目,請使用
chrome.contextMenus
API。你可以選擇要在內容選單中新增的物件類型,例如圖片、超連結和頁面。 - Cookie
-
請使用
chrome.cookies
API 查詢及修改 Cookie,並在 Cookie 變更時接收通知。 - debugger
-
chrome.debugger
API 可做為 Chrome 遠端偵錯通訊協定的替代傳輸方式。使用chrome.debugger
附加至一或多個分頁,以檢測網路互動、對 JavaScript 進行偵錯、變更 DOM 和 CSS 等。使用Debuggee
屬性tabId
指定含有sendCommand
的分頁,以及tabId
從onEvent
回呼的路徑事件。 - 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 將擴充功能整合至開發人員工具視窗 UI:建立專屬面板、存取現有面板,以及新增側欄。 - 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 - 下載
-
使用
chrome.downloads
API,透過程式輔助方式啟動、監控、操控及搜尋下載內容。 - enterprise.deviceAttributes
-
使用
chrome.enterprise.deviceAttributes
API 讀取裝置屬性。注意:這個 API 僅適用於由企業政策強制安裝的擴充功能。 - enterprise.hardwarePlatform
-
Chrome 71 以上版本 需要政策
針對執行瀏覽器的硬體平台,您可以使用
chrome.enterprise.hardwarePlatform
API 取得該硬體平台的製造商和型號。注意:這個 API 僅適用於由企業政策安裝的擴充功能。 - enterprise.networkingAttributes
-
使用
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 擴充 Chrome OS 檔案瀏覽器。舉例來說,您可以透過這個 API 讓使用者上傳檔案到您的網站。 - fileSystemProvider
-
僅限 ChromeOS
使用
chrome.fileSystemProvider
API 建立可透過 Chrome 作業系統檔案管理員存取的檔案系統。 - fontSettings
-
使用
chrome.fontSettings
API 管理 Chrome 的字型設定。 - gcm
-
使用
chrome.gcm
可讓應用程式和擴充功能透過 Firebase 雲端通訊 (FCM) 收發訊息。 - 歷史
-
使用
chrome.history
API,與瀏覽器的瀏覽記錄互動。你可以在瀏覽器記錄中新增、移除及查詢網址。如要使用您的版本覆寫記錄頁面,請參閱覆寫頁面。 - 國際化
-
使用
chrome.i18n
基礎架構,為整個應用程式或擴充功能導入國際化功能。 - 身分識別
-
使用
chrome.identity
API 取得 OAuth2 存取權杖。 - 閒置
-
使用
chrome.idle
API 偵測機器閒置狀態變更的時間。 - input.ime
-
僅限 ChromeOS
使用
chrome.input.ime
API 實作 Chrome OS 適用的自訂 IME。如此一來,你的擴充功能就能處理按鍵動作、設定組成及管理候選視窗。 - instanceID
-
Chrome 44 以上版本
使用
chrome.instanceID
存取執行個體 ID 服務。 - loginState
-
Chrome 78 以上版本 僅限 ChromeOS
使用
chrome.loginState
API 讀取及監控登入狀態。 - 管理
-
chrome.management
API 可讓您管理已安裝和執行的擴充功能/應用程式清單。這項功能對於覆寫內建新分頁頁面的擴充功能來說特別實用。 - 通知
-
使用
chrome.notifications
API 即可利用範本建立複合式通知,並在系統匣中向使用者顯示這些通知。 - 螢幕外
-
Chrome 109 以上版本 MV3 以上版本
使用
offscreen
API 建立及管理螢幕外文件。 - 網址列
-
網址列 API 可讓您透過 Google Chrome 的網址列 (又稱為網址列) 註冊關鍵字。
- pageCapture
-
使用
chrome.pageCapture
API 將分頁儲存為 MHTML。 - 權限
-
請使用
chrome.permissions
API,在執行階段 (而非安裝時) 要求宣告選用權限,讓使用者瞭解需要權限的原因,並只授予必要的權限。 - platformKeys
-
Chrome 45 以上版本 僅限 ChromeOS
使用
chrome.platformKeys
API 存取平台管理的用戶端憑證。如果使用者或政策授予權限,擴充功能就能在自訂驗證通訊協定中使用這類憑證。例如,允許在第三方 VPN 中使用平台管理的憑證 (請參閱 chrome.vpnProvider)。 - 功率
-
使用
chrome.power
API 覆寫系統的電源管理功能。 - printerProvider
-
Chrome 44 以上版本
chrome.printerProvider
API 會公開列印管理員使用的事件,用於查詢擴充功能控制的印表機、查詢其功能,以及向這些印表機提交列印工作。 - 列印
-
Chrome 81 以上版本 僅限 ChromeOS
使用
chrome.printing
API 將列印工作傳送至安裝在 Chromebook 上的印表機。 - printingMetrics
-
使用
chrome.printingMetrics
API 擷取列印使用情形的相關資料。 - 隱私權
-
在 Chrome 中,您可以使用
chrome.privacy
API 控制哪些功能會影響使用者隱私。這個 API 需要運用 ChromeSetting 類型 API 原型取得及設定 Chrome 的設定。 -
開發人員版
使用
chrome.processes
API 與瀏覽器的程序互動。 - Proxy
-
使用
chrome.proxy
API 管理 Chrome 的 Proxy 設定。這個 API 需要運用 ChromeSetting 類型 API 原型取得及設定 Proxy 設定。 - readingList
-
Chrome 120 以上版本 MV3 以上版本
- runtime
-
使用
chrome.runtime
API 擷取 Service Worker、傳回資訊清單的詳細資料,以及監聽並回應擴充功能生命週期中的事件。您也可以使用這個 API 將網址的相對路徑轉換為完整網址。 - 指令碼
-
Chrome 88 以上版本 MV3 以上版本
使用
chrome.scripting
API 在不同的情況下執行指令碼。 - search
-
Chrome 87 以上版本
使用
chrome.search
API 透過預設提供者搜尋。 - 工作階段
-
使用
chrome.sessions
API 查詢及還原瀏覽工作階段中的分頁和視窗。 - sidePanel
-
Chrome 114 以上版本 MV3 以上版本
使用
chrome.sidePanel
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.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,這個 API 可讓擴充功能實作語音引擎。 - ttsEngine
-
透過
chrome.ttsEngine
API 使用擴充功能實作文字轉語音(TTS) 引擎。如果擴充功能使用這個 API 註冊,當任何擴充功能或 Chrome 應用程式使用tts
API 產生語音時,就會收到內含要朗讀語音的事件和其他參數的事件。這樣您的擴充功能就可以使用任何可用的網路技術,合成語音並輸出語音,然後將事件傳回呼叫函式來回報狀態。 - 類型
-
chrome.types
API 包含 Chrome 的類型宣告。 - userScripts
-
Chrome 120 以上版本 MV3 以上版本
使用
userScripts
API,在 User Script 環境中執行使用者指令碼。 - vpnProvider
-
Chrome 43 以上版本 僅限 ChromeOS
使用
chrome.vpnProvider
API 實作 VPN 用戶端。 - 桌布
-
Chrome 43 以上版本 僅限 ChromeOS
使用
chrome.wallpaper
API 變更 ChromeOS 桌布。 - webAuthenticationProxy
-
Chrome 115 以上版本 MV3 以上版本
chrome.webAuthenticationProxy
API 可讓遠端主機上執行的遠端桌面軟體攔截 Web Authentication API (WebAuthn) 要求,以便在本機用戶端處理這些要求。 - webNavigation
-
使用
chrome.webNavigation
API,即可接收關於傳輸中導航要求的狀態通知。 - webRequest
-
使用
chrome.webRequest
API 觀察及分析流量,以及攔截、封鎖或修改傳輸中的要求。 - 視窗
-
使用
chrome.windows
API 與瀏覽器視窗互動。您可以使用這個 API 在瀏覽器中建立、修改及重新排列視窗。