API 参考

大多数扩展程序都需要访问一个或多个 Chrome 扩展程序 API 才能正常运行。此 API 参考文档介绍了可在扩展程序中使用的 API,并提供了示例使用情形。

Common Extensions API 功能

扩展程序 API 由一个命名空间组成,其中包含用于执行扩展程序工作的方法和属性,并且通常(但不一定)包含 manifest.json 文件的清单字段。例如,chrome.action 命名空间需要在清单中包含 "action" 对象。许多 API 还要求在清单中添加权限

除非另有说明,否则扩展 API 中的方法是异步的。异步方法会立即返回,而无需等待调用它们的操作完成。使用 Promise 获取这些异步方法的结果。

Chrome 扩展程序 API

accessibilityFeatures

使用 chrome.accessibilityFeatures API 管理 Chrome 的无障碍功能。此 API 依赖于 API 类型的 ChromeSetting 原型来获取和设置各个无障碍功能。为了获取功能状态,扩展程序必须请求 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 的自助服务终端模式下可用。

书签

使用 chrome.bookmarks API 可创建、整理和以其他方式操作书签。另请参阅替换网页,您可以使用该功能创建自定义书签管理器页面。

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 用于通过指定声明性规则来屏蔽或修改网络请求。这样,扩展程序就可以在不拦截网络请求和查看其内容的情况下修改网络请求,从而提供更高的隐私保护。

desktopCapture

Desktop Capture 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.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 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 在调度事件时使用的常见类型,用于在发生值得注意的事情时通知您。

extension

chrome.extension API 具有可供任何扩展程序页面使用的实用程序。它支持在扩展程序及其内容脚本之间或在扩展程序之间交换消息,如消息传递中所述。

extensionTypes

chrome.extensionTypes API 包含 Chrome 扩展程序的类型声明。

fileBrowserHandler
仅限 ChromeOS 仅限前台

使用 chrome.fileBrowserHandler API 扩展 Chrome OS 文件浏览器。例如,您可以使用此 API 让用户将文件上传到您的网站。

fileSystemProvider
仅限 ChromeOS

使用 chrome.fileSystemProvider API 创建可通过 ChromeOS 上的文件管理器访问的文件系统。

fontSettings

使用 chrome.fontSettings API 管理 Chrome 的字体设置。

gcm

使用 chrome.gcm 可让应用和扩展程序通过 Firebase Cloud Messaging (FCM) 发送和接收消息。

历史记录

使用 chrome.history API 与浏览器记录的已访问页面进行互动。您可以在浏览器的历史记录中添加、移除和查询网址。如需使用您自己的版本替换历史记录页面,请参阅替换页面

i18n

使用 chrome.i18n 基础架构在整个应用或扩展程序中实现国际化。

身份

使用 chrome.identity API 获取 OAuth2 访问令牌。

idle

使用 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 通过模板创建丰富通知,并在系统托盘中向用户显示这些通知。

offscreen
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)。

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 的代理设置。此 API 依赖于 ChromeSetting 类型的 API 原型来获取和设置代理配置。

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 125 及更高版本 仅限 ChromeOS 需要政策

使用 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 生成语音时,该扩展程序都会收到包含要朗读的发言内容和其他参数的事件。然后,扩展程序可以使用任何可用的 Web 技术来合成和输出语音,并将事件发送回调用函数以报告状态。

类型

chrome.types API 包含 Chrome 的类型声明。

userScripts
Chrome 120 及更高版本 MV3 及更高版本

使用 userScripts API 在用户脚本上下文中执行用户脚本。

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 观察和分析流量,并拦截、屏蔽或修改正在处理的请求。

窗口

使用 chrome.windows API 与浏览器窗口互动。您可以使用此 API 在浏览器中创建、修改和重新排列窗口。