大多数扩展程序都需要使用一个或多个 Chrome 扩展程序 API 才能正常运行。本 API 参考文档介绍了可在扩展程序中使用的 API,并演示了使用场景示例。
常见的 Extensions API 功能
Extensions API 包含一个命名空间,该命名空间包含用于执行扩展工作的方法和属性,通常(但并不总是)manifest.json
文件的清单字段。例如,chrome.action
命名空间需要在清单中添加 "action"
对象。许多 API 还需要在清单中指定权限。
除非另有说明,否则扩展程序 API 中的方法都是异步的。异步方法会立即返回,无需等待调用它们的操作完成。使用 promise 获取这些方法的结果。如需了解详情,请参阅异步方法。
Chrome Extension 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 的自助服务终端模式。 - 书签
-
使用
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,并在发生变化时收到通知。 - debugger
-
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
-
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.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 扩展 ChromeOS 文件浏览器。例如,您可以使用此 API 让用户能够将文件上传到您的网站。 - fileSystemProvider
-
仅限 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
-
使用
chrome.input.ime
API 为 Chrome 操作系统实现自定义 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.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 检索 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 在用户脚本上下文中执行用户脚本。 - 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 在浏览器中创建、修改和重新排列窗口。