理应被广泛了解却鲜有人知的8个浏览器API

系统 浏览器
如今,很少有不使用API的web应用程序了。API目前广受欢迎,浏览器开始为复杂的功能提供API(ApplicationsProgramming Interface,应用程序接口),而这些功能有时只能通过本机应用程序实现。

[[340234]]

如今,很少有不使用API的web应用程序了。API目前广受欢迎,浏览器开始为复杂的功能提供API(ApplicationsProgramming Interface,应用程序接口),而这些功能有时只能通过本机应用程序实现。

随着web开发领域不断发展,浏览器厂商也在加紧跟上步伐。它们不断开发新的API,为web应用程序带来新的本地类功能。虽然一些API已经在现代浏览器中得到了充分支持,但人们对它们还是不太了解。下面这些API会在未来发挥重要作用,是时候认识他们啦!

Web Locks API

这个API允许你在多个标签页上运行web应用程序,以访问协调共享资源。虽然这种情况并不常见,但在高级用例中,开发人员需要运行web应用程序的多个浏览器标签页并保持它们同步,此时该API可以派上用场。

虽然 API (如Shared Worker、Broadcast Channel、local Storage、session Storage、post Message、unload handler)可以用来管理制表符通信和同步,但它们都有缺点,需要开发人员进行变通,而这会导致代码可维护性的降低。Web Locks API试图通过引入更标准化的解决方案来简化这个过程。

该API在Chrome 69中是默认启用的,但仍然没有得到Firefox和Safari等主流浏览器的支持。请注意,使用这个API时,你应该掌握如何处理类似“死锁”的问题,避免落入其中。

支付请求API(The Payment Request API)

支付请求API帮助客户和卖家更加无缝完成结账过程。这种新方法无需支付表单,从根本上改善了用户支付体验。由于该API支持Apple Pay和Google Pay,它将有望成为电子商务领域的主要组成部分。

此外,由于凭证是在浏览器中管理的,用户可以更容易从移动浏览器切换到桌面浏览器,并且仍然可以访问他们的卡片信息。用户还可以从商家端进行定制,只需提及商户支持的支付方式和银行卡信息,该API甚至可以根据送货地址提供送货选项。

页面可见性API(The Page Visibility API)

在电脑浏览器中同时要打开20多个标签页是很常见的事情,笔者有朋友曾经在修复一个bug后关闭了100多个标签页。浏览器甚至已经开始出现了对标签页按照特征进行分组管理的功能,使标签页更有条理。

在页面可见性API的帮助下,你可以检测web页面是否空闲。换句话说,你可以知道用户是否正在查看包含你web页面的标签页。这听起来不足为奇,但它大大提升了用户使用网站的体验度。以下是几个可以使用该API的例子:

· 当浏览器标签处于非活动状态时,下载应用程序包资源和媒体资源的剩余部分,这将帮助您高效利用空闲时间。

· 当用户最小化或切换到另一个标签页时暂停视频。

· 当标签页处于非活动状态时,暂停图片轮播。

尽管开发人员过去使用过blur 和 focus等事件,但它们并没有告诉用户你的页面是否真的被隐藏了,页面可见性API帮助解决了这个问题。此外,该浏览器API与大部分浏览器兼容。

来源:MDNDocs

基于图形检测API(The Shape Detection API)

web开发人员可能遇到过许多需要安装外部库来处理图像中面孔、文本和条形码等元素检测的情况,这是因为之前还没有可供开发人员使用的web标准API。

Chrome团队正试图通过在Chrome浏览器中提供一个实验性基于图形检测API来改变这一现状,使其成为web标准。目前该API还处于试验阶段,您可在 chrome://flags中启用 #enable-experimental-web-platform-features 进行本地访问。

Web分享API (The Web Share API)

Web分享API允许你以与本机应用程序相同的方式将链接、文本、文件共享到设备上的其他应用程序,有助于提高用户对web应用程序的参与度。从2020年年中开始,这个API只能在Safari和Android的Chromium分支上运行。

本机共享接口

消息推送API(The Push API)

消息推送API允许web应用程序从服务器接收推送到它们的消息,不管应用程序是否处于前台。即使应用程序没有在浏览器上加载它也可以工作,这使得开发人员能够及时地向用户交付异步通知。要实现这一点,应该在使用API之前获得用户权限。

Cookie存储API(The Cookie Store API)

众所周知,使用cookie有点慢,因为它是同步的。但Cookie 存储API实现了对HTTP cookies的异步访问,有时也被称为异步Cookie API。此外,该API还向服务工作者公开这些HTTP cookies。尽管有帮助库来辅助所有常见的cookie操作,但有了Cookie存储API,这些操作会更容易,也更高效。

Web分享目标API(The Web Share Target API)

通过在web表单中提供类似于应用程序的体验,web应用程序正在改变我们理解应用程序的方式。根据StateOfJS网站的数据,约48.2%的用户使用过PWAs(Progressive Web Apps,渐进式Web应用), 另有45.5%的用户知道PWAs,足以见得PWAs受众之广。

尽管PWAs有许多类似于本机的特性,但它们缺少从本机应用程序接收文件的途径。这个API实现了从其他本机应用程序接收链接、文本、文件,目前该API只能在Android系统Chrome 76及以上版本浏览器使用。

这些API都是非常“酷炫”的。缺乏主流浏览器支持是这些API的唯一不足之处,这意味着在生产中使用这些API并不容易。但我敢肯定,它们将在未来浏览器与web的开发中发挥关键作用。

本文转载自微信公众号「读芯术」,可以通过以下二维码关注。转载本文请联系读芯术公众号。

 

责任编辑:武晓燕 来源: 读芯术
相关推荐

2013-10-29 09:24:47

Linux命令Shell脚本

2017-12-04 09:39:41

浏览器Chrome小技巧

2013-11-20 13:47:43

浏览器渲染引擎

2010-03-04 16:22:45

HTML 5

2010-04-05 21:57:14

Netscape浏览器

2010-07-20 16:35:52

V8JavaScript浏览器

2010-03-04 09:21:15

IE 9HTML5

2020-03-11 20:42:34

浏览器缓存机制

2013-12-11 15:43:36

2020-07-15 08:10:00

浏览器安全Fetch

2012-03-20 11:41:18

海豚浏览器

2012-03-19 17:25:22

2012-03-20 11:31:58

移动浏览器

2019-07-21 08:33:53

浏览器扩展插件安全

2012-11-22 13:02:53

2012-03-20 11:07:08

2010-12-21 10:11:35

手机浏览器

2012-09-06 10:05:03

Windows 8浏览器

2018-07-05 09:00:00

Web浏览器加密货币

2020-05-12 09:10:24

浏览器服务器网络
点赞
收藏

51CTO技术栈公众号