JavaScript API

Chrome 浏览器为应用提供了许多专用 API,例如 chrome.runtimechrome.alarms

稳定的 API

名称描述最低版本
alarms 使用 chrome.alarms API 安排代码周期性地运行或者在将来的指定时间运行。 22
app.runtime 使用 chrome.app.runtime API 管理应用的生命周期。应用运行时环境管理应用的安装,控制事件页面,并且可以在任何时候关闭应用。 23
app.window 使用 chrome.app.window API 创建窗口。窗口可以有框架,包含标题栏和大小控件,它们不和任何 Chrome 浏览器窗口关联。有关这些选项的演示,请参见 Window State 示例 23
commands 使用命令 API 添加快捷键,以便触发扩展程序中的操作,例如打开浏览器按钮或向扩展程序发送命令。 35
contextMenus 使用 chrome.contextMenus API 向 Google Chrome 浏览器的右键菜单添加项目。您可以选择您在右键菜单中添加的项目应用于哪些类型的对象,例如图片、超链接和页面。 6
events chrome.events 命名空间包含 API 分发事件使用的通用类型,以便在某些有意义的事情发生时通知您。 21
fileSystem 使用 chrome.fileSystem API 在用户的本地文件系统中创建、读取、浏览、写入文件。Chrome 应用可以通过该 API 在用户选定的位置读取和写入文件,例如文本编辑器应用可以使用该 API 读取和写入本地文档。所有失败信息都通过 runtime.lastError 通知。 23
gcm 使用 chrome.gcm 通过 Google Cloud Messaging 服务在应用和扩展程序中发送和接收消息。 35
i18n 使用 chrome.i18n 架构为您的整个应用或扩展程序实现国际化支持。 5
identity 使用 chrome.identity API 获取 OAuth2 访问令牌。 29
idle 使用 chrome.idle API 检测计算机空闲状态的更改。 6
mediaGalleries 使用 chrome.mediaGalleries API (在用户允许的前提下)访问用户本地磁盘中的媒体文件(音频、图片、视频)。 23
notifications 使用 chrome.notifications API 通过模板创建丰富通知,并在系统托盘中向用户显示这些通知。 28
permissions 使用 chrome.permissions API 在运行时而不是安装时请求声明的可选权限,这样用户可以理解为什么需要这些权限,并且仅在必要时授予这些权限。 16
power 使用 chrome.power API 修改系统的电源管理特性。 27
pushMessaging 使用 chrome.pushMessaging 使应用或扩展程序能够接收通过 Google 云消息服务发送的消息数据。 24
runtime 使用 chrome.runtime API 获取后台网页、返回清单文件详情、监听并响应应用或扩展程序生命周期内的事件,您还可以使用该 API 将相对路径的 URL 转换为完全限定的 URL。 22
serial 使用 chrome.serial API 读取和写入连接到串行端口的设备。 23
socket 使用 chrome.socket API 通过 TCP 和 UDP 连接在网络中发送和接收数据。注意:从 Chrome 33 开始该 API 弃用,您应该改用 sockets.udpsockets.tcpsockets.tcpServer API。 24
sockets.tcp 使用 chrome.sockets.tcp API 通过 TCP 连接在网络中发送和接收数据。该 API 增强了原来 chrome.socket API 中的 TCP 功能。 33
sockets.tcpServer chrome.sockets.tcpServer API 可以创建使用 TCP 连接的服务器应用。该 API 增强了原来 chrome.socket API 中的 TCP 功能。 33
sockets.udp 使用 chrome.sockets.udp API 通过 UDP 连接在网络中发送和接收数据。该 API 增强了原来套接字 API 中的 UDP 功能。 33
storage 使用 chrome.storage API 存储、获取用户数据,追踪用户数据的更改。 20
syncFileSystem 使用 chrome.syncFileSystem API 在 Google 云端硬盘上保存和同步数据。该 API 并不是用来访问存储在 Google 云端硬盘上的任何用户文档的,它提供了应用专用的可同步存储区,用于离线和缓存用途,这样同样的数据就可以在不同的客户端间使用。有关使用该 API 的更多信息,请阅读管理数据 27
system.cpu 使用 chrome.system.cpu API 查询 CPU 元数据。 32
system.display 使用 chrome.system.display API 查询显示器的元数据。 30
system.memory 使用 chrome.system.memory API 获取内存信息。 32
system.network 使用 chrome.system.network API 获取网络接口信息。 33
system.storage 使用 chrome.system.storage API 查询存储设备信息,并在连接或移除可移动存储设备时得到通知。 30
tts 使用 chrome.tts API 播放合成的文字语音转换(TTS),同时请您参见相关的 ttsEngine API,允许扩展程序实现语音引擎。 14
types chrome.types API 包含用于 Chrome 浏览器的类型声明。 13
usb 使用 chrome.usb API 与已连接的 USB 设备交互。该 API 提供了在应用的环境中进行 USB 操作的能力,通过该 API 应用可以作为硬件设备的驱动程序使用。 26

Beta 测试的 API

这些 API 仅在 Beta 与 Dev 分支的 Chrome 浏览器中可用:

名称描述
accessibilityFeatures 使用 chrome.accessibilityFeatures API 管理 Chrome 浏览器的辅助功能。该 API 使用类型 API 的 ChromeSetting 原型获取和设置辅助功能的各种特性。如果要获取特性的状态,扩展程序必须请求 accessibilityFeatures.read 权限。如果要修改特性状态,扩展程序需要 accessibilityFeatures.modify 权限。注意,accessibilityFeatures.modify 权限并不包含 accessibilityFeatures.read 权限。
bluetooth 使用 chrome.bluetooth API 连接到蓝牙设备。所有函数都通过 runtime.lastError 报告错误。
bluetoothLowEnergy chrome.bluetoothLowEnergy API 用来和使用 GATT 的蓝牙智能(低耗能)设备通信。
bluetoothSocket 使用 chrome.bluetoothSocket API 通过 RFCOMM 和 L2CAP 连接向蓝牙设备接收和发送数据。

开发中的 API

这些 API 仅在 Dev 分支的 Chrome 浏览器中可用:

名称描述
audio chrome.audio API 允许用户获取连接到系统的音频设备信息,并控制它们。目前该 API 仅在 Chrome OS 上实现。
copresence 使用 chrome.copresence API 通过 Google 的共存服务与附近的设备通信。
hid 使用 chrome.hid API 与连接的 HID 设备交互。使用该 API 您可以在应用中进行 HID 操作,应用可以作为硬件设备的驱动程序使用。
location 使用 chrome.location API 获取计算机的地理位置。该 API 是 HTML 地理定位 API 的另一种版本,与事件页面兼容。
wallpaper 使用 chrome.wallpaper API 更改 ChromeOS 壁纸。

实验性 API

Chrome 浏览器还有实验性 API,其中一部分可能会在将来版本的 Chrome 浏览器中支持。

API 规范

除非文档中另外提到,chrome.* API 中的方法通常是异步的:它们不等待操作完成就立即返回。如果您需要知道某个操作的结果,您应该向方法传递一个回调函数。有关更多信息,请观看如下视频(英文):