WebAPI指一组设备兼容套件和访问接口,它允许Web应用及其内容访问设备硬件(比如电池状态或设备振动器),同时也可以获取设备上的数据(比如日历或联系人等信息)。通过这些API,我们希望对Web应用进行扩展,实现过去只有专有平台才可以实现的功能。

Web 提供了各种各样的 API 来完成各种的任务。这些 API 可以用 JavaScript 来访问,令你可以做很多事儿,小到对任意 window 或者 element做小幅调整,大到使用诸如 WebGLWeb Audio 的 API 来生成复杂的图形和音效。

所有 API 的接口都罗列在了 Web API 接口一览表一页。

类似的,还有一个列出了所有事件类型的页面。

文档对象模型(Document Object Model
DOM 是一个 可以访问和修改当前文档的 API。通过它可以操作文档里的NodeElement。HTML,XML 和 SVG 都扩展了基本的 DOM 接口来操作它们各自私有的元素类型。

设备 API(Device APIs)
这一组 API 可以让网页和应用程序使用各种硬件资源。如:环境光感应器API电池状态 API地理位置 API指针锁定 API距离感应 API设备定向 API屏幕定向 API震动 API

通信 API(Communication APIs)
这些 API 可以让网页或应用程序和其它的网页或设备进行通信,如:网络信息 APIWeb 通知简单推送 API

数据管理 APIs(Data management APIs)
这套 API 可以用来存储和管理用户的数据,如:文件处理 APIIndexedDB

除了上面这些公开的,所有网页和应用程序都可以使用的 API 以外,还有一类更强大的,但只有特权应用程序和已认证应用程序能够使用的,非标准的 Mozilla 私有 API。

特权 API(Privileged APIs)
特权应用程序是那些由用户给予了特定权限的应用程序。特权 API 包括:TCP Socket API联系人 API设备存储 API浏览器 API相机 API

已认证应用程序的私有 API(Certified APIs)
已认证的应用程序是那些直接与操作系统(比如 Firefox OS)打交道,执行核心操作的底层应用程序。较低特权的应用程序可以通过 Web Activities 调用这些底层应用程序。 这些 API 包括:蓝牙 API手机连接 API网络状态 API通话 API短信/彩信 APIWiFi 信息 API电源管理 API设置 API空闲状态 API权限 API时间/时钟 API

参考

MDN:https://developer.mozilla.org/zh-CN/docs/Web/API
image.png