API 参考

Chrome 提供了具有许多专用 API 的扩展程序,例如 chrome.runtimechrome.alarms

# API conventions

除非文档另有说明,chrome.* API 中的方法是异步的:它们立即返回,无需等待操作完成。如果您需要知道操作的结果,则将回调函数传递给该方法。有关更多信息,请观看此视频(视频未翻译,所以不贴地址了)。

稳定的 API

发布信息不适用于 2015 年初发布的 Chrome 42 之前的 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 安排代码定期运行或在未来的指定时间运行。
bookmarks 使用 chrome.bookmarks API 创建、组织和以其他方式操作书签。另请参阅覆盖页面,您可以使用它来创建自定义书签管理器页面。
browserAction ≤MV2 使用浏览器操作将图标放置在 Google Chrome 主工具栏中,位于地址栏的右侧。除了图标之外,浏览器操作还可以有工具提示、徽章和弹出窗口。 tooltip, badge, popup.
browsingData 使用 chrome.browsingData API 从用户的本地配置文件中删除浏览数据。
certificateProvider Chrome 46+ 使用此 API 向平台公开证书,平台可以使用这些证书进行 TLS 身份验证。
commands 使用命令 API 添加在扩展程序中触发操作的键盘快捷键,例如打开浏览器操作或向扩展程序发送命令的操作。
contentSettings 使用 chrome.contentSettings API 更改控制网站是否可以使用 cookie、JavaScript 和插件等功能的设置。更一般地说,内容设置允许您基于每个站点而不是全局自定义 Chrome 的行为。
contextMenus 使用 chrome.contextMenus API 将项目添加到 Google Chrome 的上下文菜单。您可以选择添加上下文菜单的对象类型,例如图像、超链接和页面。
cookies 使用 chrome.cookies API 查询和修改 cookie,并在更改时收到通知。
debugger chrome.debugger API 作为 Chrome 远程调试协议remote debugging protocol的替代传输。使用 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 检索有关网络面板中开发者工具显示的网络请求的信息。
devtools.panels 使用 chrome.devtools.panels API 将您的扩展程序集成到开发人员工具窗口 UI:创建您自己的面板、访问现有面板并添加侧边栏。
documentScan Chrome 44+ 使用 chrome.documentScan API 从附加的纸质文档扫描仪中发现和检索图像。
downloads 使用 chrome.downloads API 以编程方式启动、监视、操作和搜索下载。
enterprise.deviceAttributes Chrome 46+ 使用 chrome.enterprise.deviceAttributes API 读取设备属性。注意:此 API 仅适用于由企业策略强制安装的扩展程序。
enterprise.hardwarePlatform Chrome 71+ 使用 chrome.enterprise.hardwarePlatform API 获取浏览器运行的硬件平台的制造商和型号。注意:此 API 仅适用于企业策略安装的扩展。
enterprise.networkingAttributes Chrome 85+ 使用 chrome.enterprise.networkingAttributes API 读取有关您当前网络的信息。注意:此 API 仅适用于由企业策略强制安装的扩展程序。
enterprise.platformKeys Foreground only 使用 chrome.enterprise.platformKeys API 生成密钥并为这些密钥安装证书。证书将由平台管理,可用于 TLS 身份验证、网络访问或通过 {@link platformKeys chrome.platformKeys} 进行其他扩展。
events chrome.events 命名空间包含 API 调度事件使用的常用类型,以便在发生有趣的事情时通知您。
extension chrome.extension API 具有可供任何扩展页面使用的实用程序。它支持在扩展与其内容脚本之间或扩展之间交换消息,如在 Message Passing.
extensionTypes chrome.extensionTypes API 包含 Chrome 扩展的类型声明。
fileBrowserHandler Foreground only 使用 chrome.fileBrowserHandler API 扩展 Chrome 操作系统文件浏览器。例如,您可以使用此 API 使用户能够将文件上传到您的网站。
fileSystemProvider Foreground only 使用 chrome.fileSystemProvider API 创建文件系统,可从 Chrome 操作系统上的文件管理器访问该文件系统。
fontSettings 使用 chrome.fontSettings API 来管理 Chrome 的字体设置。
gcm 使用 chrome.gcm 使应用程序和扩展程序能够通过Google Cloud Messaging Service.
history 使用 chrome.history API 与浏览器的访问页面记录交互。您可以添加、删除和查询浏览器历史记录中的 URL。要使用您自己的版本覆盖历史记录页面,请参阅 Override Pages.
i18n 使用 chrome.i18n 基础架构在整个应用程序或扩展程序中实现国际化。
identity 使用 chrome.identity API 获取 OAuth2 访问令牌。
idle 使用 chrome.idle API 来检测机器的空闲状态何时发生变化。
input.ime 使用 chrome.input.ime API 为 Chrome 操作系统实现自定义 IME。这允许您的扩展程序处理击键、设置组合和管理候选窗口。
instanceID Chrome 44+ 使用 chrome.instanceID 访问 Instance ID 服务。
loginState Chrome 78+ 使用 chrome.loginState API 读取和监控登录状态。
management chrome.management API 提供了管理已安装和运行的扩展程序/应用程序列表的方法。它对于覆盖override内置新标签页的扩展特别有用。
notifications 使用 chrome.notifications API 使用模板创建丰富的通知,并在系统托盘中向用户显示这些通知。
omnibox 多功能框 API 允许您使用 Google Chrome 的地址栏(也称为多功能框)注册关键字。
pageAction ≤MV2 使用 chrome.pageAction API 将图标放置在 Google Chrome 主工具栏中,位于地址栏的右侧。页面操作表示可以在当前页面上执行的操作,但不适用于所有页面。页面操作在不活动时显示为灰色。
pageCapture 使用 chrome.pageCapture API 将选项卡保存为 MHTML。
permissions 使用 chrome.permissions API 在运行时而不是安装时请求声明的可选权限,以便用户了解为什么需要这些权限并只授予那些必要的权限。
platformKeys Chrome 45+ Foreground only 使用 chrome.platformKeys API 访问由平台管理的客户端证书。如果用户或策略授予权限,扩展可以在其自定义身份验证协议中使用此类证书。例如。这允许在第三方 VPN 中使用平台管理的证书(请参阅 {@link vpnProvider chrome.vpnProvider})。
power 使用 chrome.power API 覆盖系统的电源管理功能。
printerProvider Chrome 44+ chrome.printerProvider API 公开打印管理器使用的事件,以查询由扩展控制的打印机、查询它们的功能并将打印作业提交给这些打印机。
printing Chrome 81+ 使用 chrome.printing API 将打印作业发送到 Chromebook 上安装的打印机。
printingMetrics Chrome 79+ 使用 chrome.printingMetrics API 获取有关打印使用情况的数据。
privacy 使用 chrome.privacy API 来控制 Chrome 中可能影响用户隐私的功能的使用。该 API 依赖于类型 API 的 ChromeSetting 原型来获取和设置 Chrome 的配置。ChromeSetting prototype of the type API
proxy 使用 chrome.proxy API 来管理 Chrome 的代理设置。该 API 依赖于类型 API 的 ChromeSetting 原型来获取和设置代理配置。ChromeSetting prototype of the type API
runtime 使用 chrome.runtime API 检索后台页面、返回有关清单的详细信息,以及侦听和响应应用程序或扩展程序生命周期中的事件。您还可以使用此 API 将 URL 的相对路径转换为完全限定的 URL。
scripting Chrome 88+ MV3+ 使用 chrome.scripting API 在不同的上下文中执行脚本。
search Chrome 87+ 使用 chrome.search API 通过默认提供程序进行搜索。
sessions 使用 chrome.sessions 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 查询存储设备信息,并在连接和分离可移动存储设备时收到通知。
tabCapture Foreground only 仅前景 使用 chrome.tabCapture API 与选项卡媒体流交互。
tabGroups Chrome 89+ MV3+ 使用 chrome.tabGroups API 与浏览器的标签分组系统交互。您可以使用此 API 在浏览器中修改和重新排列选项卡组。要分组和取消分组选项卡,或查询分组中的选项卡,请使用 chrome.tabs API。
tabs 使用 chrome.tabs API 与浏览器的标签系统交互。您可以使用此 API 在浏览器中创建、修改和重新排列选项卡。
topSites 使用 chrome.topSites API 访问显示在新标签页上的热门站点(即访问量最大的站点)。这些不包括用户自定义的快捷方式。
tts 使用 chrome.tts API 播放合成的文字转语音 (TTS)。另请参阅相关的 {@link ttsEngine} API,它允许扩展来实现语音引擎。
ttsEngine 使用 chrome.ttsEngine API 通过扩展实现文本到语音 (TTS) 引擎。如果您的扩展使用此 API 注册,当任何扩展程序或 Chrome 应用程序使用 {@link tts} API 生成语音时,它将接收包含要说出的话语和其他参数的事件。然后,您的扩展程序可以使用任何可用的 Web 技术来合成和输出语音,并将事件发送回调用函数以报告状态。
types chrome.types API 包含 Chrome 的类型声明。
vpnProvider Chrome 43+ 使用 chrome.vpnProvider API 实现 VPN 客户端。
wallpaper Chrome 43+ 使用 chrome.wallpaper API 更改 ChromeOS 壁纸。
webNavigation 使用 chrome.webNavigation API 接收有关正在进行的导航请求状态的通知。
webRequest 使用 chrome.webRequest API 来观察和分析流量并拦截、阻止或修改进行中的请求。
windows 使用 chrome.windows API 与浏览器窗口交互。您可以使用此 API 在浏览器中创建、修改和重新排列窗口。

Beta APIs

这些 API 仅在 Chrome Beta 和 Dev 频道中可用:

Name Description
declarativeWebRequest Beta channel ≤MV2 注意:此 API 已弃用。请查看 {@link declarativeNetRequest} API。使用 chrome.declarativeWebRequest API 拦截、阻止或修改进行中的请求。它比 {@link webRequest chrome.webRequest API} 快得多,因为您可以注册在浏览器而不是 JavaScript 引擎中评估的规则,从而减少往返延迟并提高效率。

Dev APIs

这些 API 仅在 Chrome Dev 频道中可用:

Name Description
automation Dev channel chrome.automation API 允许开发人员访问浏览器的自动化(可访问性)树。该树类似于 DOM 树,但仅暴露页面的语义结构。它可用于通过检查名称、角色和状态、侦听事件以及在节点上执行操作,以编程方式与页面交互。
processes Dev channel 使用 chrome.processes API 与浏览器的进程交互。
signedInDevices Dev channel 使用 chrome.signedInDevices API 获取使用与当前配置文件相同的帐户登录 Chrome 的设备列表。

Platform Apps APIs(平台应用程序 API)

这些 API 支持所有平台上的 Chrome 应用程序。

这些 API 已弃用。 Chrome 将在所有平台上取消对 Chrome 应用程序的支持。详细了解如何迁移您的应用

Name Description
app.runtime 使用 chrome.app.runtime API 来管理应用程序生命周期。应用运行时管理应用安装,控制事件页面,可以随时关闭应用。
app.window 使用 chrome.app.window API 创建窗口。 Windows 有一个带有标题栏和大小控件的可选框架。它们与任何 Chrome 浏览器窗口无关。有关这些选项的演示,请参阅窗口状态示例。Window State Sample
appviewTag Chrome 43+ 使用 appview 标签在您的 Chrome 应用程序中嵌入其他 Chrome 应用程序。 (见用法)。 Usage
audio Chrome 59+ 提供 chrome.audio API 以允许用户获取有关连接到系统的音频设备的信息并对其进行控制。此 API 目前仅在 ChromeOS 的自助服务终端模式下可用。
bluetooth 使用 chrome.bluetooth API 连接到蓝牙设备。所有函数都通过 chrome.runtime.lastError 报告失败。
bluetoothLowEnergy chrome.bluetoothLowEnergy API 用于使用通用属性配置文件 (GATT) 与蓝牙智能(低功耗)设备进行通信。 Generic Attribute Profile (GATT).
bluetoothSocket 使用 chrome.bluetoothSocket API 通过 RFCOMM 和 L2CAP 连接向蓝牙设备发送和接收数据。
browser 使用 chrome.browser API 与与当前应用程序和 Chrome 配置文件关联的 Chrome 浏览器交互。
clipboard Dev channel 提供 chrome.clipboard API 以允许用户访问剪贴板的数据。这是 chromeos 平台应用程序的临时解决方案,直到开放网络替代方案可用。一旦开放网络解决方案可用(可能在 2017 年第四季度),它将被弃用。
fileSystem Foreground only 使用 chrome.fileSystem API 创建、读取、导航和写入用户的本地文件系统。使用此 API,Chrome 应用程序可以读取和写入用户选择的位置。例如,文本编辑器应用程序可以使用 API 来读取和写入本地文档。所有失败都通过 chrome.runtime.lastError 通知。
hid 使用 chrome.hid API 与连接的 HID 设备交互。此 API 提供从应用程序上下文中访问 HID 操作的权限。使用此 API,应用程序可以充当硬件设备的驱动程序。通过设置 {@link runtime.lastError} 并执行函数的常规回调来报告此 API 生成的错误。在这种情况下,回调的常规参数将是未定义的。
mdns Chrome 43+ 使用 chrome.mdns API 通过 mDNS 发现服务。这包括 NSD 规范的一部分功能: http://www.w3.org/TR/discovery-api/
mediaGalleries 使用 chrome.mediaGalleries API 从用户的本地磁盘(经用户同意)访问媒体文件(音频、图像、视频)。
networking.onc Chrome 59+ chrome.networking.onc API 用于配置网络连接(蜂窝、以太网、VPN 或 WiFi)。此 API 在自动启动的 Chrome 操作系统自助服务终端会话中可用。
serial 使用 chrome.serial API 读取和写入连接到串行端口的设备。
socket 使用 chrome.socket API 通过 TCP 和 UDP 连接通过网络发送和接收数据。注意:从 Chrome 33 开始,此 API 已弃用,取而代之的是 {@link sockets.udp}、{@link sockets.tcp} 和 {@link sockets.tcpServer} API。
sockets.tcp 使用 chrome.sockets.tcp API 通过 TCP 连接通过网络发送和接收数据。此 API 取代了先前在 chrome.socket API 中找到的 TCP 功能。
sockets.tcpServer 使用 chrome.sockets.tcpServer API 来创建使用 TCP 连接的服务器应用程序。此 API 取代了先前在 chrome.socket API 中找到的 TCP 功能。
sockets.udp 使用 chrome.sockets.udp API 通过 UDP 连接通过网络发送和接收数据。此 API 取代了先前在“套接字”API 中发现的 UDP 功能。
syncFileSystem 使用 chrome.syncFileSystem API 在 Google Drive 上保存和同步数据。此 API 不适用于访问存储在 Google Drive 中的任意用户文档。它为离线和缓存使用提供特定于应用程序的可同步存储,以便可以在不同的客户端之间使用相同的数据。有关使用此 API 的更多信息,请阅读管理数据Manage Data
system.network 使用 chrome.system.network API。
usb 使用 chrome.usb API 与连接的 USB 设备交互。此 API 提供从应用程序上下文中访问 USB 操作的权限。使用此 API,应用程序可以充当硬件设备的驱动程序。通过设置 {@link runtime.lastError} 并执行函数的常规回调来报告此 API 生成的错误。在这种情况下,回调的常规参数将是未定义的。
virtualKeyboard Chrome 58+ chrome.virtualKeyboard API 是一个仅限自助服务终端的 API,用于在自助服务终端会话中配置虚拟键盘布局和行为。
webviewTag 使用 webview 标签通过网络主动加载来自网络的实时内容并将其嵌入到您的 Chrome 应用程序中。您的应用程序可以控制 webview 的外观并与 web 内容交互,在嵌入式网页中启动导航,对其中发生的错误事件做出反应等等 (see Usage).

By.一粒技术服务

results matching ""

    No results matching ""