WakeLock API 是一种 Web API,允许网页或应用在一定条件下防止设备静如休眠状态,通过这个 API,开发者可以请求保持屏幕开启,或者确保设备不会降低或关闭其 CPU 的速度,即使在没有用户交互的情况下也是如此。这在某些需要长时间运行的前台操作中非常有用,例如 阅读场文章、观看视频或阅读文档、小说等。

WakeLock API 提供了一种机制,通过它网页可以请求一个唤醒锁(wake lock),这个唤醒锁可以防止设备的屏幕关闭或者防止进入低功耗状态。具体来说它支持两种类型的锁:

  1. 屏幕锁(Screen Lock): 当网页需要用户持续查看屏幕内容时,可以请求屏幕锁,例如,当用户正在观看视频或阅读文档时,可以防止屏幕自动关闭或变暗
  2. 系统锁(System Lock): 此类型的锁目前尚在讨论中,旨在防止设备降低 CPU速度,尽管目前主要实现的是屏幕锁。

[WARNING] 使用 Wake Lock API 时,开发者需要考虑到用户体验和电池寿命的平衡,虽然这个 API 使得网页可以保持设备唤醒状态,但过度使用或不恰当使用可能会导致用户设备的电池迅速耗尽。因此,最佳实践是仅在确实需要时请求唤醒锁,并在不需要时尽快释放。同时需要注意并非所有的浏览器和设备都支持 Wake Lock API,因此在使用时需要检测浏览器的兼容性,并考虑提供适当的回退反感