多數擴充功能都需要存取一或多個 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 變更時接收通知。 - 偵錯工具
-
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.performance
-
待處理
使用
chrome.devtools.performance
API,可監聽開發人員工具「效能」面板中的狀態更新記錄。 - devtools.recorder
-
Chrome 105 以上版本
使用
chrome.devtools.recorder
API 自訂開發人員工具中的「錄音工具」面板。 - dns
-
開發人員版
使用
chrome.dns
API 進行 DNS 解析。 - documentScan
-
Chrome 44 以上版本 僅適用於 ChromeOS
使用
chrome.documentScan
API,從附加的文件掃描器中探索及擷取圖片。 - 網域
-
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 在瀏覽器中建立、修改及重新排列視窗。