你可能想知道的 HTML5 Web API

2025-06-08

你可能想知道的 HTML5 Web API

几天前,我在博客上发布了这篇文章,想与大家分享,征求一些反馈。希望大家能够学习 API,提升项目的用户体验,祝大家玩得开心!


我明天将在 BBL 期间介绍这个超级有趣的主题,所以我最好写下来以巩固我的发现。

我们将讨论 HTML5 在过去几年中引入的 Web API,这些 API 允许您仅用几行代码即可为您的应用程序增添新的用户体验,并且潜力巨大。对于每个 API,我将展示如何实现它、它的浏览器支持情况以及如何在具体项目中使用它们的想法。

页面可见性👀

通过捕获以下事件,您可以知道该页面当前是否对用户可见:

页面访问

正如您所见,它实现起来很简单,并且有相当好的浏览器支持:

页面可见2

这使得它可以在大多数应用程序上投入生产。

这是我制作的一个小演示,展示了此 API 的一个用例:每当您离开当前选项卡时,视频就会暂停,并且图标会发生变化以反映这一点。

我确信您已经有了一千个关于如何实现此 API 的其他想法,但这是我的两点看法:

  • 避免用户在 Tab 键退出时进行无用的操作
  • 当收到新数据但尚未查看时,通过选项卡的标题通知用户(就像 Messenger 和 Whatsapp 已经做的那样)
  • 当用户退出时暂停浏览器游戏

环境光💡

它公开了用户传感器感知到的当前照明水平的数据。

光

正如您所见,这些 API 的共同点在于易于实现。您只需捕捉事件并通过获取勒克斯devicelight即可!e.value

值得注意的是,这种方式最终会被弃用,因为通用传感器API 正在开发中,它将包含大量传感器数据。

最终它会更像这样:实例化传感器,启动它,捕捉其状态变化,并在需要时停止它:

光

很遗憾,正如你在这里看到的,浏览器支持不太好

光

一旦通用传感器 API 正式获得推荐状态,这种情况可能不会持续很长时间。

以下是关于如何使用它的一些想法:

  • 根据当前光照调整应用程序的对比度(强光可能会使某些对比度更难读取)
  • 每当用户在夜间阅读时,就进入黑暗模式(尽管我认为你应该始终处于黑暗模式😛)

在线状态📡

很明显,它告诉我们用户当前是否连接到网络。它还允许我们捕获网络变化,如下所示:

在线状态

而且它的支持非常好:

在线状态

这是一个小演示,展示了如何使用它。

用例包括:

  • 当用户未登录网络时通知用户
  • 当用户长时间后重新上线时提取数据

振动📳

最后但同样重要的一点是,此 API 允许我们让用户的设备振动。

振动

浏览器对此功能的支持还有待提高,但它的用例几乎都集中在移动设备上。正如你所见,大多数 Android 浏览器都支持此功能,而 iOS 的 Safari 则不支持。

振动

这是另一个展示其使用情况的演示,请确保在兼容的浏览器上尝试它。

实施思路包括:

  • 为表单输入添加触觉反馈,例如,当用户输入错误的电子邮件地址时,可以感觉到振动。
  • 为移动浏览器游戏添加振动(如果有的话)

结论

还有许多其他 Web API 可以帮助您构建真正有趣且独特的用户体验。我推荐一个名为“ Web 今日所能做的”的网站,它列出了所有这些 API 的完整列表,请务必查看。

感谢阅读,

@christo_kade

鏂囩珷鏉ユ簮锛�https://dev.to/christopherkade/html5-web-apis-you-might-want-to-know-4cbm
PREV
样式化组件:是什么、为什么以及如何?
NEXT
尝试 Hack Me:Linux PrivEsc 完整文档