JavaScript API
Chrome 浏览器为应用提供了许多专用 API,例如
chrome.runtime
与 chrome.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.udp、sockets.tcp 和 sockets.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 中的方法通常是异步的:它们不等待操作完成就立即返回。如果您需要知道某个操作的结果,您应该向方法传递一个回调函数。有关更多信息,请观看如下视频(英文):