现在是 2020 年,浏览器可以做出惊人的事情。

这个 repo 包含一个非详尽的列表,列出了当今浏览器中实现的鲜为人知的功能。

此列表不适合技术人员;相反,它想成为“我不知道我们可以在浏览器中做到这一点!” 列表。

在许多情况下,列出的功能还不是标准的一部分,可能只在某些浏览器或配置上可用。

详见 https://github.com/luruke/browser-2020

以下为机翻:

喜欢配色方案

许多操作系统提供浅色或深色主题(特别是 macOS 上的深色模式)。网站可以检测首选的配色方案。


喜欢减少运动

与暗模式类似,用户在他们的操作系统中可以删除/减少动画,我们也可以检测到。


支付请求API

通过本机浏览器 UI 处理付款,该 UI 将自动填充信用卡、运输信息等。


网络共享 API

将 URL 或文件的共享委托给操作系统,根据已安装的应用程序和用户偏好提供共享选项。


网络音频接口

允许开发人员在浏览器中创建和处理音频的高级 API。


推送接口

浏览器可以注册推送通知。稍后发送,随时推送通知,这些通知可以包含图像、按钮和内嵌回复。


服务人员

除其他功能外,Service Worker 还可以启用离线浏览和后台任务处理。

例子:

  • 当互联网不可用时提供后备。
  • 在 Internet 连接不可用时提交表单将导致数据丢失。Service Worker 可用于保存数据并稍后在互联网连接再次启动时提交。

Web/本机应用程序安装横幅

显示本机横幅以鼓励用户在家中添加应用程序/网站或安装本机应用程序。


获取安装相关应用程序 API

检查是否已安装与您网站相关的本机应用程序。


WebXR

允许在网络上运行 VR/AR。


画中画 (PiP)

同意播放视频并将其与当前页面分离,保持粘性并始终可见。


媒体会话 API

通过提供元数据和操作来自定义媒体通知。


媒体源扩展 (MSE)

通过完全控制视频和音频媒体流,在没有任何插件的情况下在浏览器中创建丰富的流媒体体验。


加密媒体扩展 (EME)

一种编程接口,允许播放受数字限制管理方案或更普遍称为数字版权管理的视频。


WebRTC

使 Web 应用程序和站点能够捕获和可选地流式传输音频和/或视频媒体,以及在浏览器之间交换任意数据而无需中介。


Chrome 发送器 API

如果 chromecast 可用,您可以将视频/音频流式传输到支持 TV/Chromecast 的设备。


隔空播放

同意通过 AirPlay(如 AppleTV)流式传输媒体。


强制触摸 API

使用某些 Apple 专用硬件(如 iPhone6S+ 和 Magic Trackpad),您可以检测压力。


增强现实快速查看

.usdz在 iOS 上,您可以使用原生 AR UI显示3D 资产:


游戏手柄API

允许使用物理游戏手柄。


网络USB接口

允许访问和使用通过 USB 连接的外围设备。


网络蓝牙 API

允许访问和使用蓝牙设备。


网络锁 API

防止显示睡眠并启用唤醒锁定。


键盘锁

在全屏模式下,允许接收通常由系统或浏览器处理的键,如 Cmd/Alt-Tab 或 Esc。


通用传感器 API

允许使用多个传感器,如加速度计、陀螺仪、环境光传感器和磁力计。


凭证管理API

允许存储和检索密码凭据,它还支持点击登录和自动登录、在多台设备上共享密码等等。


剪贴板API

允许在操作系统剪贴板缓冲区中读取和写入文本和图像。


演示API

提供访问外部演示类型显示器并使用它们来演示 Web 内容的能力。


屏幕方向 API

读取并锁定屏幕方向。


getUserMedia 相机选择

使用摄像头/麦克风时选择输入源(例如前置或后置摄像头)。在 Pixel 4XL 上,我们甚至可以访问红外摄像头(例如用于面部检测)。


指针锁定(鼠标锁定)

允许访问原始鼠标移动,将鼠标事件的目标锁定到单个元素,消除鼠标移动在一个方向上可以移动多远的限制,并从视图中删除光标。明显的用例是第一人称或实时战略游戏。


主题色

自定义选项卡颜色(仅限 Android)。


振动API

提供对托管设备振动机制的访问。


网络咖啡 API

使用 covfefe 协议启动咖啡机。


电池状态 API

允许访问以查看设备电池的电池电量。


页面可见性 API

提供一个 API 来询问当前选项卡是否可见。


网络语音API

使网络开发人员能够合并语音识别和语音合成。


联系人API

提供本机 UI 以从您的操作系统中选择联系人并检索信息。


原始试验中的东西

本机文件系统

允许访问文件系统。


网页一次性密码 API

允许站点读取接收到的 SMS,例如用于 OTP 和电话号码验证。


徽章API

允许在操作系统中的架子或主屏幕等位置设置徽章。


网页NFC

为站点提供读取和写入 NFC 标签的能力。

2020 年您可以使用浏览器做的事情