大多數擴充功能都需要存取一或多個 Chrome Extensions API 才能運作。本 API 參考資料說明可在擴充功能中使用的 API,並提供用途範例。
常見的 Extensions API 功能
Extensions API 包含一個命名空間,其中包含用於執行擴充功能作業的方法和屬性,以及 manifest.json
檔案的資訊清單欄位 (通常是,但不一定是)。例如,chrome.action
命名空間需要資訊清單中的 "action"
物件。許多 API 也需要在資訊清單中設定權限。
除非另有說明,否則擴充功能 API 中的所有方法都是非同步的。非同步方法會立即傳回,而不會等待呼叫這些方法的作業完成。使用承諾取得這些非同步方法的結果。
Chrome 擴充功能 API
- accessibilityFeatures
-
使用
chrome.accessibilityFeatures
API 管理 Chrome 的無障礙功能。這個 API 會使用 API 類型的 ChromeSetting 原型,用於取得及設定個別無障礙功能。如要取得功能狀態,擴充功能必須要求accessibilityFeatures.read
權限。如要修改功能狀態,擴充功能需要accessibilityFeatures.modify
權限。請注意,accessibilityFeatures.modify
不代表accessibilityFeatures.read
權限。 - action
-
Chrome 88 以上版本 MV3 以上版本
使用
chrome.action
API 控制 Google Chrome 工具列中的擴充功能圖示。 - alarms
-
使用
chrome.alarms
API 排定程式碼,以便定期執行或在未來的特定時間執行。 - 音訊
-
Chrome 59 以上版本 (僅限 ChromeOS)
chrome.audio
API 可讓使用者取得系統連接音訊裝置的相關資訊,並控制這些裝置。這個 API 目前僅適用於 ChromeOS 的資訊站模式。 - 書籤
-
使用
chrome.bookmarks
API 建立、整理及操作書籤。另請參閱「覆寫頁面」,您可以使用這項功能建立自訂的「書籤管理員」頁面。 - browsingData
-
使用
chrome.browsingData
API 從使用者的本機設定檔中移除瀏覽資料。 - certificateProvider
-
Chrome 46 以上版本 (僅限 ChromeOS)
使用這個 API 將憑證公開給平台,讓平台可用這些憑證進行 TLS 驗證。
- 指令
-
使用指令 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
屬性tabId
,以sendCommand
指定分頁,並透過onEvent
回呼的tabId
轉送事件。 - 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 將擴充功能整合至「開發人員工具」視窗使用者介面:建立您自己的面板、存取現有面板,以及新增側欄。 - devtools.performance
-
Chrome 129 以上版本
使用
chrome.devtools.performance
API 在 DevTools 的「效能」面板中,監聽錄製狀態更新。 - 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.enterprise.deviceAttributes
API 讀取裝置屬性。注意:這個 API 僅適用於依企業政策強制安裝的擴充功能。 - enterprise.hardwarePlatform
-
Chrome 71 以上版本 需要政策
使用
chrome.enterprise.hardwarePlatform
API 取得瀏覽器執行的硬體平台製造商和型號。注意:這個 API 僅適用於依企業政策安裝的擴充功能。 - enterprise.login
-
使用
chrome.enterprise.login
API 結束受管理的訪客工作階段。注意:這個 API 僅適用於在 ChromeOS 受管理的訪客工作階段中,透過企業政策安裝的擴充功能。 - enterprise.networkingAttributes
-
使用
chrome.enterprise.networkingAttributes
API 讀取目前網路的相關資訊。注意:這個 API 僅適用於依企業政策強制安裝的擴充功能。 - enterprise.platformKeys
-
ChromeOS 專用 需要政策
使用
chrome.enterprise.platformKeys
API 產生金鑰,並為這些金鑰安裝憑證。憑證會由平台管理,可用於 TLS 驗證、網路存取,或透過 chrome.platformKeys 由其他擴充功能使用。 - 事件
-
chrome.events
命名空間包含 API 用來調度事件的常用類型,可在發生有趣事件時通知您。 - extension
-
chrome.extension
API 提供可供任何擴充功能頁面使用的公用程式。這項功能可支援在擴充功能與其內容指令碼之間,或在擴充功能之間交換訊息,詳情請參閱「訊息傳遞」一文。 - extensionTypes
-
chrome.extensionTypes
API 包含 Chrome 擴充功能的型別宣告。 - fileBrowserHandler
-
ChromeOS 專用 僅限前景
使用
chrome.fileBrowserHandler
API 擴充 ChromeOS 檔案瀏覽器。舉例來說,您可以使用這個 API,讓使用者將檔案上傳至網站。 - fileSystemProvider
-
僅限 ChromeOS
使用
chrome.fileSystemProvider
API 建立檔案系統,並透過 Chrome OS 上的檔案管理員存取。 - fontSettings
-
使用
chrome.fontSettings
API 管理 Chrome 的字型設定。 - gcm
-
使用
chrome.gcm
可讓應用程式和擴充功能透過 Firebase 雲端通訊 (FCM) 傳送及接收訊息。 - history
-
使用
chrome.history
API 與瀏覽器的已造訪網頁記錄互動。您可以在瀏覽器的瀏覽記錄中新增、移除及查詢網址。如要使用自己的版本覆寫歷史記錄頁面,請參閱「覆寫頁面」一文。 - i18n
-
使用
chrome.i18n
基礎架構,在整個應用程式或擴充功能中實作國際化。 - identity
-
使用
chrome.identity
API 取得 OAuth2 存取權杖。 - idle
-
使用
chrome.idle
API 偵測機器的閒置狀態變更。 - input.ime
-
僅限 ChromeOS
使用
chrome.input.ime
API 為 ChromeOS 實作自訂 IME。這樣一來,擴充功能就能處理按鍵輸入、設定組合,以及管理候選視窗。 - instanceID
-
Chrome 44 以上版本
使用
chrome.instanceID
存取 Instance ID 服務。 - loginState
-
Chrome 78 以上版本 ChromeOS 專屬
使用
chrome.loginState
API 讀取及監控登入狀態。 - 管理
-
chrome.management
API 提供管理已安裝應用程式和擴充功能的方法。 - notifications
-
使用
chrome.notifications
API 搭配範本建立豐富的通知,並在系統通知方塊中向使用者顯示這些通知。 - offscreen
-
Chrome 109 以上版本 MV3 以上版本
使用
offscreen
API 建立及管理離螢幕文件。 - omnibox
-
網址列 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.printingMetrics
API 擷取列印用量資料。 - 隱私權
-
使用
chrome.privacy
API 控管 Chrome 中可能影響使用者隱私權的功能。這個 API 會使用 ChromeSetting 類型 API 的原型,用於取得及設定 Chrome 的設定。 - 程序
-
開發人員管道
使用
chrome.processes
API 與瀏覽器的程序互動。 - proxy
-
請使用
chrome.proxy
API 管理 Chrome 的 Proxy 設定。這個 API 會使用 API 類型的 ChromeSetting 原型,取得及設定 Proxy 設定。 - readingList
-
Chrome 120 以上版本 MV3 以上版本
使用
chrome.readingList
API 讀取及修改閱讀清單中的項目。 - runtime
-
使用
chrome.runtime
API 擷取服務工作者、傳回資訊清單的詳細資料,並監聽擴充功能生命週期中的事件並做出回應。您也可以使用這個 API,將網址的相對路徑轉換為完整網址。 - 編寫指令碼
-
Chrome 88 以上版本 MV3 以上版本
使用
chrome.scripting
API 在不同情境下執行指令碼。 - search
-
Chrome 87 以上版本
使用
chrome.search
API 透過預設供應器搜尋。 - 工作階段
-
使用
chrome.sessions
API 查詢及還原瀏覽工作階段中的分頁和視窗。 - sidePanel
-
Chrome 114 以上版本 MV3 以上版本
使用
chrome.sidePanel
API 在瀏覽器的側邊面板中代管內容,並與網頁的主要內容並列。 - storage
-
使用
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,讓擴充功能實作語音引擎。 - ttsEngine
-
使用
chrome.ttsEngine
API 實作文字轉語音(TTS) 引擎,並使用擴充功能。如果擴充功能是使用這個 API 註冊,當任何擴充功能或 Chrome 應用程式使用tts
API 產生語音時,擴充功能就會收到包含要朗讀的字詞和其他參數的事件。擴充功能接著可以使用任何可用的網路技術來合成及輸出語音,並將事件傳回呼叫函式,以便回報狀態。 - 類型
-
chrome.types
API 包含 Chrome 的型別宣告。 - userScripts
-
Chrome 120 以上版本 MV3 以上版本
使用
userScripts
API 在「User Scripts」情境中執行使用者指令碼。 - vpnProvider
-
Chrome 43 以上版本 僅限 ChromeOS
使用
chrome.vpnProvider
API 導入 VPN 用戶端。 - 桌布
-
Chrome 43 以上版本 僅限 ChromeOS
使用
chrome.wallpaper
API 變更 ChromeOS 桌布。 - webAuthenticationProxy
-
Chrome 115 以上版本 MV3 以上版本
chrome.webAuthenticationProxy
API 可讓在遠端主機上執行的遠端桌面軟體攔截 Web 驗證 API (WebAuthn) 要求,以便在本機用戶端上處理這些要求。 - webNavigation
-
使用
chrome.webNavigation
API 接收導航要求執行中狀態的通知。 - webRequest
-
使用
chrome.webRequest
API 觀察及分析流量,並攔截、封鎖或修改傳輸中的要求。 - windows
-
使用
chrome.windows
API 與瀏覽器視窗互動。您可以使用這個 API 在瀏覽器中建立、修改及重新排列視窗。