除了 chrome.*API 的情况下,扩展程序可以使用浏览器提供的所有 API 来实现 网页和应用。如果浏览器不支持您要使用的 API,您可以捆绑额外的 API 将 API 库导入您的扩展程序。
以下是扩展程序可以使用的 API 示例:
- 标准 JavaScript API
- 这些 API 就是您可以在 普通的 Web 应用
- XMLHttpRequest
- 使用 XMLHttpRequest 从一个或多个服务器请求数据。permissions 字段的 清单指定扩展程序可以向哪些主机发送请求。
- HTML 和其他新兴 API
Google Chrome 支持新型 HTML 功能以及其他新兴 API。这里介绍了一些 您可以使用的 API:
- 音频(教程)
- 应用缓存(教程)
- 画布(文章)
- 全屏(文章)
- 在 Chrome 应用中,用户无需提示用户或提供退出指令即可进入全屏模式。
HTML5 全屏要求在清单中获得
app.window.fullscreen
权限。正常 网页时,浏览器会拦截 ESC 键以退出指针锁定,以确保一致的转义 方法。这也是 Chrome 应用中的行为,除非app.window.fullscreen.overrideEsc
权限用于使应用能够调用 对 keydown 和 keyup 事件调用preventDefault
。 - 地理定位(教程)
- 本地存储(教程)
- 通知(教程)
- 指针锁定(教程)
- 在 Chrome 应用中,无需用户手势即可输入指针锁定,也无需提示用户或
提供退出指示。指针锁定需要清单中的
pointerlock
权限。 此外,系统也没有默认的退出行为。在普通网页中,浏览器会拦截 ESC 键 退出指针锁定。Chrome 应用中不存在此行为。 - 视频(教程)
- Web 数据库(教程)
请访问 html5rocks.com 了解 HTML5 信息、教程、互动式游乐场以及指向 其他资源
- Web API
您的扩展程序可以使用 Web API。CSS 功能(如过滤器、 动画和转换。下面这个示例展示了如何使用 WebKit 样式让界面旋转:
<style> div:hover { transform: rotate(360deg); transition: all 1s ease-out; } </style>
- V8 API,例如 JSON
由于 JSON 是 V8 版本,因此您无需添加 JSON 库即可使用 JSON 函数。
- 捆绑库中的 API
如果您想使用浏览器未提供的库(例如 jQuery),您可以将 该库的 JavaScript 文件替换为您的扩展名。捆绑库在扩展程序中的工作方式 和在其他网页中执行的操作相同