web api 整理

162 阅读17分钟

B

  • background fetch API:浏览器在后台执行fetch操作进行文件下载
  • background task API:后台任务
  • Barcode Detection API:检测图像中出现的线性或二维条码
  • Battery Status API:提供有关系统充电级别的信息并提供了通过电池等级或者充电状态的改变提醒用户的事件
  • beacon API:信标接口,将异步和非阻塞请求发送到服务器,满足分析代码和诊断的需要,这些代码会尝试在卸载文档之前把数据发送到服务器
  • bluetooth API:与蓝牙低功耗外围设备连接和交互
  • broadcast channel API:同源下新闻器的通信

C

  • css计数器:counter-reset、counter-increment
  • css font loading API:css字体加载api,fontFace
  • css painting API:css绘画接口
  • css typed object model API:css类型化对象模型,与底层值交互的接口,用专门的 JS 对象表示
  • css object model:允许用 JavaScript 操纵 CSS 的 API。 从而能够动态地读取和修改 CSS 样式
  • canvas API:通过js和元素绘制图形
  • channel messaging API:允许两个不同的脚本运行在同一个文档的不同浏览器上下文(比如两个 iframe,或者文档主体和一个 iframe,使用 SharedWorker的两个文档,或者两个 worker)来直接通讯,在每端使用一个端口(port)通过双向频道(channel)向彼此传递消息。
  • clipboard API:响应剪切板命令(剪切、复制、粘贴)与异步读写系统剪切板的能力
  • compression streams API:使用gzip或deflate格式压缩和解压数据流(内置压缩意味着js应用程序不需要包含压缩库,使得应用程序的下载大小更小)
  • console API:允许开发人员执行调试任务
  • contact picker API:允许用户从他们的联系人列表中选择条目,并与网站或应用程序共享所选条目的有限详细信息
  • content index API:允许开发人员在浏览器中注册离线内容
  • cookie store API:提供了一个用于管理cookie的异步API,同时也将cookie暴露给Service Worker API
  • credential management API:允许网站存储和检索用户,联合账户和公钥证书。这些功能允许用户在不输入密码的情况下登录,查看他们曾经登录到一个站点的联合帐户,并且在会话过期且没有显式的登录流程的情况下恢复会话

D

  • dom:文档对象模型

E

  • encoding API:提供了一种机制来处理各种字符编码文本,包括传统的非UTF-8编码
  • encrypted media extensions API:用于控制受数字限制管理方案约束的内容播放的接口
  • eyedropper API:创建吸管工具,使用这个工具,用户可以从他们的屏幕上采样颜色,包括浏览器窗口之外的颜色

F

  • fetch API:提供了一个获取资源的接口(包括跨域请求)
  • file API:进行文件处理
  • file system access API:允许与用户本地设备或用户可访问的网络文件系统上的文件进行交互。此 API 的核心功能包括读取文件、写入或保存文件以及访问目录结构
  • file and directory entries API:模拟一个 web 应用可以导航和访问的本地文件系统。你在虚拟的沙箱文件系统中可以开发一个读、写、创建文件或者目录的应用。
  • fullscreen API:全屏模式

G

  • gamepad API:给予开发者一种简单、统一的方式来识别并响应游戏控制器(手柄)
  • geolocation API:获取用户的地理位置

H

  • html dom API:由定义HTML中每个元素的功能的接口以及它们所依赖的任何支持类型和接口组成
  • html drag and drop API:应用程序能够在浏览器中使用拖放功能
  • html sanitizer API:允许开发人员获取不受信任的 HTML 字符串和/Document或DocumentFragment对象,并对其进行清理,以便安全地插入到文档的 DOM 中
  • high resolution time:高时间采样率标准定义了Performance接口,该接口支持应用程序中客户端的延时测量。Performance接口被认为是高采样率的,因为其精确度可达千分之一毫秒(受硬件或软件限制)。这些接口支持许多使用情形,包括计算帧速率(在动画中可能很重要)和基准测试(例如加载资源的时间)。
  • history API:浏览器历史,操作history栈

I

  • image capture API:图像捕获API,一种用于从摄影设备捕获图像或视频的API。除了捕获数据,它还允许您检索有关设备功能的信息,例如图像大小、防红眼以及是否有闪光灯以及它们当前设置的内容
  • indexedDB:索引数据库
  • intersection observer API 提供了一种异步检测目标元素与祖先元素或 viewport相交情况变化的方法。 过去,要检测一个元素是否可见或者两个元素是否相交并不容易,很多解决办法不可靠或性能很差。然而,随着互联网的发展,这种需求却与日俱增,比如,下面这些情况都需要用到相交检测:
    • 图片懒加载——当图片滚动到可见时才进行加载
    • 内容无限滚动——也就是用户滚动到接近内容底部时直接加载更多,而无需用户操作翻页,给用户一种网页可以无限滚动的错觉
    • 检测广告的曝光情况——为了计算广告收益,需要知道广告元素的曝光情况
    • 在用户看见某个区域时执行任务或播放动画

L

  • layout instability API:提供了用于测量和报告布局变化的接口
  • long tasks API:哪些任务执行耗费了50毫秒或更多时间

M

  • media capability API:媒体功能API,允许开发人员确定设备的解码和编码能力,公开信息,例如是否支持媒体以及播放是否应该流畅和节能,并提供有关播放的实时反馈以更好地启用自适应流,以及访问显示财产信息
  • media session API:媒体会话 API 提供了一种自定义媒体通知的方法。它通过提供元数据以供用户代理显示您的 Web 应用程序正在播放的媒体来实现这一点。其目的是让用户知道正在播放什么并对其进行控制,而无需打开启动它的特定页面。
  • media source extensions API:媒体源扩展API,提供了实现无插件且基于Web的流媒体功能。使用MSE,媒体串流能够通过js创建,并且能通过使用audio和video元素进行播放
  • mediaStream recording API:由一个主接口MediaRecorder组成,这个接口负责的所有工作是从MediaStream获取数据并将其传递给你进行处理

N

  • navigation timing API:提供了可用于衡量一个网站性能的数据。与用于相同目的的其他基于 JavaScript 的机制不同,该 API 可以提供可以更有用和更准确的端到端延迟数据。
  • network information API:网络状态API,可以获取到系统的网络连接信息,比如说连接方式是 WiFi 还是蜂窝。应用程序可以根据此信息为用户展现不同清晰度的内容

P

  • page visibility API:页面可见性API,使用选项卡式浏览,任何给定网页都有可能在后台,因此对用户不可见。页面可见性 API 提供了您可以观察的事件,以便了解文档何时可见或隐藏,以及查看页面当前可见性状态的功能。
  • payment request API:支付请求接口,为商家和支付者提供了统一的用户体验。它并非提供一种新的支付方式,而是让用户可以在原有的支付方式中进行选择,并使商家可以获悉用户的支付情况。
  • performance API:高时间采样率标准定义了Performance接口,该接口支持应用程序中客户端的延时测量。Performance接口被认为是高采样率的,因为其精确度可达千分之一毫秒(受硬件或软件限制)。这些接口支持许多使用情形,包括计算帧速率(在动画中可能很重要)和基准测试(例如加载资源的时间)。
  • performance timeline API:定义了接口的扩展,以Performance支持应用程序中的客户端延迟测量。扩展提供接口以根据特定过滤条件检索性能条目指标。该标准还包括允许应用程序定义性能观察者回调的接口,当特定性能事件添加到浏览器的性能时间线时,这些回调会得到通知。
  • periodic background synchronization API:web定期后台同步API,提供了一种方法来注册任务以通过service worker网络连接定期运行。这些任务称为周期性后台同步请求
  • permission API:权限API,查询权限状态,提供了一种一致的编程方式来查询归因于当前上下文的 API 权限的状态。
  • picture-in-picture API:画中画 API 允许网站总是在其它窗口之上创建一个浮动的视频,以便用户在其他内容站点或者设备上的应用程序交互时可以继续播放媒体。
  • pointer events:指针事件
  • pointer lock API:指针锁定,把鼠标事件的目标锁定到一个单独的元素,这就消除了鼠标在一个单独的方向上到底可以移动多远这方面的限制,并从视图中删去光标
  • presentation API:演示API,允许用户代理(例如 Web 浏览器)通过投影仪和联网电视等大型演示设备有效地显示 Web 内容。支持的多媒体设备类型包括使用 HDMI、DVI 等进行有线连接的显示器,或使用DLNA、Chromecast、AirPlay或Miracast进行无线连接的显示器。
  • prioritized task scheduling API:优先任务调度API,提供了一种标准化的方式来确定属于应用程序的所有任务的优先级,无论它们是在网站开发人员的代码中定义的,还是在第三方库和框架中定义的
  • proximity events:邻近事件,了解用户何时接近设备的便捷方式。这些事件可以对这种变化做出反应,例如当用户在设备靠近耳朵的情况下打电话时关闭智能手机的屏幕。
  • push API:给与了 Web 应用程序接收从服务器发出的推送消息的能力,无论 Web 应用程序是否在用户设备前台,甚至刚加载完成。这样,开发人员就可以向用户投放异步通知和更新,从而让用户能更及时地获取新内容。

R

  • reporting API:报告 API 的目的是提供一致的报告机制,可用于以 JavaScript 对象表示的报告的形式向开发人员提供此类信息(违反内容安全政策、违反功能政策、不推荐使用的功能等)。
  • resize observer API:提供了一种高性能的机制,通过该机制,代码可以监视元素的大小更改,并且每次大小更改时都会向观察者传递通知。
  • resource Timing API:可以获取和分析应用资源加载的详细网络计时数据,应用程序可以 使用时间度量标准来确定加载特定资源所需要的时间,比如 XMLHttpRequest, SVG, 图片,或者脚本。

S

  • screen capture API:屏幕捕捉API,让用户选择一个屏幕或屏幕的一部分(如一个窗口)作为媒体流进行捕获。然后,该流可以被记录或通过网络与他人共享。
  • screen orientation API:提供有关屏幕方向的信息
  • screen wake lock API:当应用程序需要继续运行时,屏幕唤醒锁定 API 提供了一种防止设备变暗或锁定屏幕的方法。
  • selection API:选择API,使开发人员能够访问和操作用户选择的文档部分。
  • sensor APIs:传感器API,是一组统一设计的接口,它们在 web 平台中为各类传感器提供了一致的访问方式。
  • server-sent events:一个网页获取新的数据通常需要发送一个请求到服务器,也就是向服务器请求的页面。使用 server-sent 事件,服务器可以在任何时刻向我们的 Web 页面推送数据和信息。这些被推送进来的信息可以在这个页面上作为Events + data的形式来处理。
  • service worker API: 本质上充当 Web 应用程序、浏览器与网络(可用时)之间的代理服务器。这个 API 旨在创建有效的离线体验,它会拦截网络请求并根据网络是否可用来采取适当的动作、更新来自服务器的的资源。它还提供入口以推送通知和访问后台同步 API。
  • storage:Web 存储标准,the Storage Standard,定义了一个通用的、共享的存储系统,供所有 API 和技术使用,以存储各个网站的内容可访问数据。
  • storage access API:存储访问 API 为嵌入的跨域内容提供了一种不受限制地访问存储的方法,该存储通常只能在第一方上下文中访问(我们将其称为源的第一方存储)。
  • streams API:允许 JavaScript 以编程的方式访问通过网络接收的数据流,并根据开发人员的需要处理它们。

T

  • touch events:为了给基于触摸的用户界面提供高质量的支持,触摸事件提供了在触摸屏或触控板上解释手指(或触控笔)活动的能力。

U

  • ui events:定义了一个系统来处理用户交互,例如鼠标和键盘输入
  • url API
  • url pattern API:定义了一种用于创建URL模式匹配器的语法

V

  • vibration API:大多数现代移动设备包括振动硬件,其允许软件代码通过使设备摇动来向用户提供物理反馈。Vibration API 为 Web 应用程序提供访问此硬件(如果存在)的功能,如果设备不支持此功能,则不会执行任何操作。
  • visual viewport API:视觉视口API,提供了一种明确的机制来查询和修改窗口的可视视口的属性。视觉视口是屏幕的视觉部分,不包括屏幕键盘、捏拉缩放区域之外的区域或任何其他不随页面尺寸缩放的屏幕工件。

W

  • web animations API: 允许同步和定时更改网页的呈现,即 DOM 元素的动画。它通过组合两个模型来实现:时序模型和动画模型。
  • web audio API:提供了在 Web 上控制音频的一个非常有效通用的系统,允许开发者来自选音频源,对音频添加特效,使音频可视化,添加空间效果(如平移),等等。
  • web authentication API :继承自Credential Management API,使用公钥密码学使得验证更强壮,不需要 SMS 文本就能实现无密码验证和安全的双因素验证。
  • web crypto API:为脚本提供加密了一套关于密码(学)的接口,以便用于构建需要使用密码的系统。
  • web midi API:连接到乐器数字接口 (MIDI) 设备并与之交互。
  • web notifications API:允许网页控制向最终用户显示系统通知 —这些都在顶级浏览上下文视口之外,因此即使用户已经切换标签页或移动到不同的应用程序,也可以显示。该 API 被设计成与不同平台上的现有通知系统兼容。
  • web share API (en-US):提供了一种将文本、链接、文件和其他内容共享到用户选择的任意共享目标的机制。
  • web speech API:使您能够将语音数据合并到 Web 应用程序中。 Web Speech API 有两个部分:SpeechSynthesis 语音合成(文本到语音 TTS)和 SpeechRecognition 语音识别(异步语音识别)。
  • web storage API: 使浏览器能以一种比使用 Cookie 更直观的方式存储键/值对(localStorage,sessionStorage)
  • web workers API:Web 应用程序可以在独立于主线程的后台线程中,运行一个脚本操作。这样做的好处是可以在独立线程中执行费时的处理任务,从而允许主线程(通常是 UI 线程)不会因此被阻塞/放慢。
  • webCodecs API (en-US):网络编解码器API,为 Web 开发人员提供了对视频流的各个帧和音频块的低级访问。它对于需要完全控制媒体处理方式的 Web 应用程序很有用。例如,视频或音频编辑器以及视频会议。
  • webGL:是一个 JavaScript API,可在任何兼容的 Web 浏览器中渲染高性能的交互式 3D 和 2D 图形,而无需使用插件。
  • webHID API (en-US): 人机接口设备 (HID) 是一种从人类获取输入或向人类提供输出的设备。它还指 HID 协议,这是一种用于主机和设备之间双向通信的标准,旨在简化安装过程。HID 协议最初是为 USB 设备开发的,但此后已通过许多其他协议实现,包括蓝牙。
  • webRTC:是一项实时通讯技术,它允许网络应用或者站点,在不借助中间媒介的情况下,建立浏览器之间点对点(Peer-to-Peer)的连接,实现视频流和(或)音频流或者其他任意数据的传输。WebRTC 包含的这些标准使用户在无需安装任何插件或者第三方的软件的情况下,创建点对点(Peer-to-Peer)的数据分享和电话会议成为可能。
  • webUSB API (en-US):提供了一种向 Web 公开非标准通用串行总线 (USB) 兼容设备服务的方法,以使 USB 更安全、更易于使用。
  • webVR API:能为虚拟现实设备的渲染提供支持
  • webVTT:Web 视频文本跟踪格式 (WebVTT) 是一种使用track元素显示定时文本轨道(如字幕或标题)的格式。 WebVTT 文件的主要用途是将文本叠加添加到video。
  • webXR Device API:是一组支持将渲染 3D 场景用来呈现虚拟世界(虚拟现实,也称作 VR)或将图形图像添加到现实世界(增强现实,也称作 AR)的标准。
  • websockets API:在用户的浏览器和服务器之间打开交互式通信会话。使用此 API,您可以向服务器发送消息并接收事件驱动的响应,而无需通过轮询服务器的方式以获得响应。
  • window Controls Overlay API (en-US):使安装在桌面操作系统上的渐进式 Web 应用程序能够隐藏默认窗口标题栏并在应用程序窗口的整个表面区域显示自己的内容,转动控制按钮(最大化、最小化和关闭)成一个覆盖。

X

  • XMLHttpRequest:XHR对象用于与服务器交互。通过 XMLHttpRequest 可以在不刷新页面的情况下请求特定 URL,获取数据。这允许网页在不影响用户操作的情况下,更新页面的局部内容。XMLHttpRequest 在 AJAX编程中被大量使用。