WakeLock

基准线 2025
新推出

自 ⁨2025 年 3 月⁩ 起,此功能可在最新的设备和浏览器版本上使用。此功能可能在旧设备或浏览器上无法正常工作。

安全上下文: 此功能仅在安全上下文(HTTPS)中可用,且支持此功能的浏览器数量有限。

WakeLock 接口属于 Screen Wake Lock API,可用于请求锁定,防止设备屏幕在应用程序需要保持运行时变暗或锁定。

此接口以及系统唤醒锁通过 Navigator.wakeLock 属性公开。

实例方法

request()

如果屏幕唤醒锁被授予,则返回一个 Promise,该 Promise 将解析为 WakeLockSentinel 对象。

示例

以下代码 awaits 请求 WakeLockSentinel 对象,如果请求被授予则继续执行。

WakeLock.request() 方法被包装在一个 try...catch 语句中,用于捕获 promise 可能被拒绝的情况,例如由于设备电量不足。

js
try {
  const wakeLock = await navigator.wakeLock.request("screen");
} catch (err) {
  // the wake lock request fails - usually system related, such being low on battery
  console.log(`${err.name}, ${err.message}`);
}

请注意,屏幕唤醒锁在被授予后可能会被设备撤销。返回的 WakeLockSentinel 可用于检查锁的状态,和/或手动取消已持有的屏幕唤醒锁。

规范

规范
Screen Wake Lock API
# the-wakelock-interface

浏览器兼容性

另见