8个应该广为人知但鲜为人知的浏览器API今天,很少有不使用API的Web应用程序。API目前非常流行,浏览器开始为有时只能通过原生应用程序实现的复杂功能提供API(ApplicationsProgrammingInterface,应用程序编程接口)。随着Web开发世界的不断发展,浏览器供应商正在加紧跟上步伐。他们不断开发新的API,为Web应用程序带来新的原生类功能。虽然现代浏览器完全支持某些API,但它们仍未被很好地理解。以下这些API将在未来发挥重要作用,是时候了解它们了!WebLocksAPI此API允许您在多个选项卡上运行Web应用程序以访问协调的共享资源。虽然这并不常见,但该API可以在高级用例中派上用场,在这些用例中,开发人员需要运行Web应用程序的多个浏览器选项卡并保持它们同步。尽管可以使用API(例如SharedWorker、BroadcastChannel、localStorage、sessionStorage、postMessage、unloadhandler)来管理选项卡通信和同步,但它们都存在需要开发人员变通的缺点,从而导致代码可维护性降低。WebLocksAPI试图通过引入更标准化的解决方案来简化此过程。该API在Chrome69中默认启用,但仍不受Firefox和Safari等主要浏览器的支持。请注意,在使用该API时,您应该掌握如何处理“死锁”等问题,以免陷入死锁。支付请求API(ThePaymentRequestAPI)支付请求API帮助客户和卖家更无缝地完成结账流程。这种新方法消除了对支付表格的需求,并从根本上改善了用户支付体验。由于该API支持ApplePay和GooglePay,因此有望成为电子商务领域的重要组成部分。此外,由于凭证是在浏览器中管理的,因此用户可以更轻松地从移动浏览器切换到桌面浏览器,并且仍然可以访问他们的卡信息。用户也可以在商家端进行定制,只需提及商家支持的支付方式和银行卡信息,API甚至可以根据收货地址提供送货选项。页面可见性API(ThePageVisibilityAPI)在电脑浏览器中同时打开20个以上的标签页是很常见的。笔者的一位朋友曾在修复一个bug后关闭了100多个标签页。浏览器甚至开始具备了按特性对标签页进行分组管理的功能,让标签页更有条理。借助PageVisibilityAPI,您可以检测网页是否空闲。换句话说,您可以判断用户是否正在查看包含您的网页的选项卡。这听起来并不奇怪,但它极大地改善了用户使用网站的体验。下面是几个可以使用此API的示例:·在浏览器选项卡处于非活动状态时下载剩余的应用程序包资源和媒体资源,这将帮助您有效地利用空闲时间。·当用户最小化或切换到另一个选项卡时暂停视频。·暂停图像旋转木制时,当标签不活动时。尽管开发人员过去使用过模糊和焦点等事件,但他们并没有告诉用户您的页面是否真的被隐藏了,而页面可见性API可以帮助做到这一点。此外,浏览器API与大多数浏览器兼容。来源:MDNDocs基于形状检测API(TheShapeDetectionAPI)Web开发人员可能遇到过很多情况,他们需要安装外部库来处理图像中的人脸、文本和条形码等元素的检测,因为没有开发人员以前可以使用这种东西。要使用的Web标准API。Chrome团队正试图通过在Chrome浏览器中提供一个实验性的基于图像的检测API来改变这种状况,使其成为网络标准。目前该API还处于实验阶段,您可以在chrome://flags中启用#enable-experimental-web-platform-features以进行本地访问。WebShareAPI(TheWebShareAPI)WebShareAPI允许您以与本机应用程序相同的方式将链接、文本和文件共享到设备上的其他应用程序,有助于提高用户对Web应用程序的参与度。从2020年年中开始,此API将仅适用于Safari和Android的Chromium分支。本机共享接口消息推送API(ThePushAPI)PushAPI允许Web应用程序接收从服务器推送给它们的消息,无论该应用程序是否在前台。即使应用程序未在浏览器上加载,它也能正常工作,这使开发人员能够及时向用户发送异步通知。为此,应在使用API之前获得用户权限。CookieStoreAPI(TheCookieStoreAPI)使用cookie是出了名的慢,因为它是同步的。但CookieStorageAPI实现了对HTTPcookie的异步访问,有时也称为异步CookieAPI。此外,API将这些HTTPcookie公开给服务工作者。虽然有帮助程序库可以协助所有常见的cookie操作,但使用Cookie存储API可以更轻松、更高效地执行这些操作。Web共享目标API(TheWebShareTargetAPI)通过在Web表单中提供类似应用程序的体验,Web应用程序正在改变我们理解应用程序的方式。根据StateOfJS网站的数据,约有48.2%的用户使用过PWAs(ProgressiveWebApps,渐进式网络应用程序),另有45.5%的用户了解PWAs,足以说明PWAs的受众之广。虽然PWA具有许多类似原生的功能,但它们缺少一种从原生应用程序接收文件的方法。此API实现从其他本机应用程序接收链接、文本和文件。目前该API只能在AndroidChrome76及以上浏览器中使用。这些API非常“酷”。缺乏主要浏览器支持是这些API的唯一缺点,这意味着在生产中使用它们并不容易。但我相信它们将在浏览器和网络的未来发展中发挥关键作用。本文转载自微信公众号“读芯”,可通过以下二维码关注。转载本文请联系核心阅读公众号。
