API 参考

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

accessibilityFeatures

使用 chrome.accessibilityFeatures API 管理 Chrome 的无障碍功能。此 API 依赖 ChromeSetting 类型 API 的原型来获取和设置各项无障碍功能。如需获取功能状态,该扩展程序必须请求 accessibilityFeatures.read 权限。如需修改功能状态,扩展程序需要 accessibilityFeatures.modify 权限。请注意,accessibilityFeatures.modify 并不意味着 accessibilityFeatures.read 权限。

闹钟

使用 chrome.alarms API 安排代码定期运行或在未来的指定时间运行。

音频
Chrome 59 及更高版本 仅限 ChromeOS

通过提供 chrome.audio API,用户可以获取有关系统连接到的音频设备的信息并控制该设备。此 API 目前只能在适用于 ChromeOS 的自助服务终端模式下使用。

书签

使用 chrome.bookmarks API 创建、整理以及以其他方式操纵书签。另请参阅覆盖网页(可用于创建自定义“书签管理器”页面)。

browserAction
≤ MV2

使用浏览器操作将图标放入 Google Chrome 主工具栏(位于地址栏的右侧)。除了图标之外,浏览器操作还可以包含提示标记弹出式窗口

browsingData

使用 chrome.browsingData API 从用户的本地个人资料中移除浏览数据。

certificateProvider
Chrome 46 及更高版本 仅限 ChromeOS

使用此 API 将证书提供给可以使用这些证书进行 TLS 身份验证的平台。

命令

您可以使用 Command API 添加可在扩展程序中触发操作的键盘快捷键,例如,用于打开浏览器操作或向扩展程序发送命令的操作。

contentSettings

您可以使用 chrome.contentSettings API 更改相关设置,以控制网站是否可以使用 Cookie、JavaScript 和插件等功能。从更笼统的角度来说,内容设置允许您按网站(而非全局)自定义 Chrome 的行为。

contextMenus

使用 chrome.contextMenus API 向 Google Chrome 的上下文菜单中添加项。您可以选择从右键菜单中添加的对象类型,例如图片、超链接和页面。

Cookie

使用 chrome.cookies API 查询和修改 Cookie,并在 Cookie 发生更改时收到通知。

debugger

chrome.debugger API 可用作 Chrome 远程调试协议的替代传输服务。使用 chrome.debugger 附加到一个或多个标签页,以便对网络交互进行插桩、调试 JavaScript、转变 DOM 和 CSS 等。使用 Debuggee 属性 tabId 可定位具有 sendCommand 的标签页,并通过 tabIdonEvent 回调对事件进行路由。

declarativeContent

使用 chrome.declarativeContent API 可根据网页内容执行操作,而无需读取网页内容的权限。

declarativeNetRequest
Chrome 84 及更高版本

chrome.declarativeNetRequest API 用于通过指定声明式规则来屏蔽或修改网络请求。这样一来,扩展程序就能够修改网络请求,而不会拦截这类请求并查看其中的内容,从而更好地保护用户隐私。

declarativeWebRequest
Beta 渠道 ≤ MV2

注意:此 API 已废弃。不妨改用 declarativeNetRequest API。使用 chrome.declarativeWebRequest API 拦截、阻止或修改传输中的请求。它比 chrome.webRequest API 快得多,因为您可以注册在浏览器(而不是 JavaScript 引擎)中评估的规则,从而减少往返延迟时间并提高效率。

desktopCapture

Desktop Capture API 可捕获屏幕、各个窗口或标签页的内容。

devtools.inspectedWindow

使用 chrome.devtools.inspectedWindow API 与检查的窗口进行交互:获取被检查页面的标签页 ID、在被检查的窗口中评估代码、重新加载页面或者获取页面中的资源列表。

devtools.network

使用 chrome.devtools.network API 检索由开发者工具在“Network”面板中显示的网络请求的相关信息。

devtools.panels

使用 chrome.devtools.panels API 将您的扩展程序集成到开发者工具窗口界面中:创建自己的面板、访问现有面板以及添加边栏。

devtools.recorder
Chrome 105 及更高版本

使用 chrome.devtools.recorder API 自定义开发者工具中的“Recorder”面板。

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.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 扩展 Chrome 操作系统的文件浏览器。例如,您可以使用此 API 让用户向您的网站上传文件。

fileSystemProvider
仅限 ChromeOS

您可以使用 chrome.fileSystemProvider API 创建可通过 Chrome 操作系统的文件管理器访问的文件系统。

fontSettings

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

gcm

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

历史

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

国际化

使用 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,您可以使用模板创建内容丰富的通知,并在系统任务栏中向用户显示这些通知。

多功能框

多功能框 API 可让您向 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)。

电量

使用 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 原型来获取和设置代理配置。

runtime

使用 chrome.runtime API 检索 Service Worker,返回有关清单的详细信息,以及监听和响应扩展程序生命周期中的事件。您还可以使用此 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,该 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 可观察和分析流量,以及拦截、阻止或修改传输中的请求。

窗户

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