老王科技|理应被广泛了解却鲜有人知的8个浏览器API

全文共2674字 , 预计学习时长7分钟
老王科技|理应被广泛了解却鲜有人知的8个浏览器API
文章图片
图源:unsplash
如今 , 很少有不使用API的web应用程序了 。 API目前广受欢迎 , 浏览器开始为复杂的功能提供API(ApplicationsProgrammingInterface , 应用程序接口) , 而这些功能有时只能通过本机应用程序实现 。
随着web开发领域不断发展 , 浏览器厂商也在加紧跟上步伐 。 它们不断开发新的API , 为web应用程序带来新的本地类功能 。 虽然一些API已经在现代浏览器中得到了充分支持 , 但人们对它们还是不太了解 。 下面这些API会在未来发挥重要作用 , 是时候去认识一下他们啦!
WebLocksAPI
这个API允许你在多个标签页上运行web应用程序 , 以访问协调共享资源 。 虽然这种情况并不常见 , 但在高级用例中 , 开发人员需要运行web应用程序的多个浏览器标签页并保持它们同步 , 此时该API可以派上用场 。
【老王科技|理应被广泛了解却鲜有人知的8个浏览器API】虽然API(如SharedWorker、BroadcastChannel、localStorage、sessionStorage、postMessage、unloadhandler)可以用来管理制表符通信和同步 , 但它们都有缺点 , 需要开发人员进行变通 , 而这会导致代码可维护性的降低 。 WebLocksAPI试图通过引入更标准化的解决方案来简化这个过程 。
该API在Chrome69中是默认启用的 , 但仍然没有得到Firefox和Safari等主流浏览器的支持 。 请注意 , 使用这个API时 , 你应该掌握如何处理类似“死锁”的问题 , 避免落入其中 。
支付请求API(ThePaymentRequestAPI)
支付请求API帮助客户和卖家更加无缝完成结账过程 。 这种新方法无需支付表单 , 从根本上改善了用户支付体验 。 由于该API支持ApplePay和GooglePay , 它将有望成为电子商务领域的主要组成部分 。
此外 , 由于凭证是在浏览器中管理的 , 用户可以更容易从移动浏览器切换到桌面浏览器 , 并且仍然可以访问他们的卡片信息 。 用户还可以从商家端进行定制 , 只需提及商户支持的支付方式和银行卡信息 , 该API甚至可以根据送货地址提供送货选项 。
老王科技|理应被广泛了解却鲜有人知的8个浏览器API
文章图片
图源:unsplash
页面可见性API(ThePageVisibilityAPI)
在电脑浏览器中同时要打开20多个标签页是很常见的事情 , 笔者有朋友曾经在修复一个bug后关闭了100多个标签页 。 浏览器甚至已经开始出现了对标签页按照特征进行分组管理的功能 , 使标签页更有条理 。
在页面可见性API的帮助下 , 你可以检测web页面是否空闲 。 换句话说 , 你可以知道用户是否正在查看包含你web页面的标签页 。 这听起来不足为奇 , 但它大大提升了用户使用网站的体验度 。 以下是几个可以使用该API的例子:
·当浏览器标签处于非活动状态时 , 下载应用程序包资源和媒体资源的剩余部分 , 这将帮助您高效利用空闲时间 。
·当用户最小化或切换到另一个标签页时暂停视频 。
·当标签页处于非活动状态时 , 暂停图片轮播 。
尽管开发人员过去使用过blur和focus等事件 , 但它们并没有告诉用户你的页面是否真的被隐藏了 , 页面可见性API帮助解决了这个问题 。 此外 , 该浏览器API还可与大部分浏览器兼容 。
老王科技|理应被广泛了解却鲜有人知的8个浏览器API
文章图片
来源:MDNDocs
基于图形检测API(TheShapeDetectionAPI)
web开发人员可能遇到过许多需要安装外部库来处理图像中面孔、文本和条形码等元素检测的情况 , 这是因为之前还没有可供开发人员使用的web标准API 。
Chrome团队正试图通过在Chrome浏览器中提供一个实验性基于图形检测API来改变这一现状 , 使其成为web标准 。 目前该API还处于试验阶段 , 您可在chrome://flags中启用#enable-experimental-web-platform-features进行本地访问 。