大多数扩展程序都需要访问一个或多个 Chrome Extensions API 才能正常运行。此 API 参考文档介绍了可在扩展程序中使用的 API,并提供了示例用例。
常见的 Extensions API 功能
Extensions API 由一个命名空间组成,其中包含用于执行扩展程序工作的方法和属性,通常(但不总是)还包含 manifest.json
文件的清单字段。例如,chrome.action
命名空间需要在清单中包含 "action"
对象。许多 API 还需要在清单中声明权限。
除非另有说明,否则扩展程序 API 中的所有方法都是异步的。异步方法会立即返回,无需等待 调用它们来完成的操作。使用 promise 获取这些异步方法的结果。
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 可安排代码定期运行或在未来的指定时间运行。 - audio
-
Chrome 59 及更高版本 仅限 ChromeOS
通过提供
chrome.audio
API,用户可以获取有关系统连接到的音频设备的信息并控制该设备。此 API 目前仅适用于 ChromeOS 的自助服务终端模式。 - 书签
-
使用
chrome.bookmarks
API 创建、整理和以其他方式处理书签。另请参阅覆盖网页(可用于创建自定义“书签管理器”页面)。 - 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 发生变化时接收通知。 - 调试程序
-
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
-
Desktop Capture API 可捕获屏幕、各个窗口或标签页的内容。
- devtools.inspectedWindow
-
使用
chrome.devtools.inspectedWindow
API 与被检查的窗口互动:获取被检查网页的标签页 ID、在被检查窗口的上下文中评估代码、重新加载网页或获取网页中的资源列表。 - devtools.network
-
使用
chrome.devtools.network
API 检索开发者工具在“Network”面板中显示的网络请求相关信息。 - 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 - downloads
-
使用
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
-
<ph type="x-smartling-placeholder"></ph> 仅限 ChromeOS 需要政策
使用
chrome.enterprise.platformKeys
API 生成密钥并为这些密钥安装证书。证书将由平台管理,可用于 TLS 身份验证、网络访问,或由其他扩展程序通过 chrome.platformKeys 使用。 - 事件
-
chrome.events
命名空间包含一些常用类型,API 会使用这些类型来调度事件,以便在发生值得注意的事情时通知您。 - extension
-
chrome.extension
API 包含可供任何扩展程序页面使用的实用程序。它支持在扩展程序与其内容脚本之间或扩展程序之间交换消息,详见消息传递。 - extensionTypes
-
chrome.extensionTypes
API 包含 Chrome 扩展程序的类型声明。 - fileBrowserHandler
-
<ph type="x-smartling-placeholder"></ph> 仅限 ChromeOS 仅限前台
使用
chrome.fileBrowserHandler
API 扩展 Chrome 操作系统的文件浏览器。例如,您可以使用此 API 来允许用户向您的网站上传文件。 - fileSystemProvider
-
<ph type="x-smartling-placeholder"></ph> 仅限 ChromeOS
使用
chrome.fileSystemProvider
API 创建可通过 ChromeOS 上的文件管理器访问的文件系统。 - 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
-
<ph type="x-smartling-placeholder"></ph> 仅限 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,您可以使用模板创建内容丰富的通知,并在系统任务栏中向用户显示这些通知。 - 屏幕外
-
Chrome 109 及更高版本 MV3 及更高版本
使用
offscreen
API 创建和管理屏幕外文档。 - 多功能框
-
多功能框 API 可让您向 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 的代理设置。此 API 依赖于类型为 API 的 ChromeSetting 原型来获取和设置代理配置。 - readingList
-
Chrome 120+ MV3+
使用
chrome.readingList
API 读取和修改阅读清单中的项。 - 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 生成语音时,该扩展程序将收到包含要朗读的语音和其他参数的事件。然后,您的扩展程序可以使用任何可用的 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 Authentication API (WebAuthn) 请求,以便在本地客户端上处理这些请求。 - webNavigation
-
使用
chrome.webNavigation
API 接收有关正在处理的导航请求状态的通知。 - webRequest
-
使用
chrome.webRequest
API 观察和分析流量,以及拦截、屏蔽或修改正在处理的请求。 - 窗户
-
使用
chrome.windows
API 与浏览器窗口进行交互。您可以使用此 API 在浏览器中创建、修改和重新排列窗口。