WakeLockSentinel

草案
此页面不完整。

Secure context
This feature is available only in secure contexts (HTTPS), in some or all supporting browsers .

WakeLockSentinel interface of the Screen Wake Lock API provides a handle to the underlying platform wake lock and can be manually released and reacquired. An Object representing the wake lock is returned via the navigator.wakelock.request() 方法。

An acquired WakeLockSentinel can be released manually via the release() method, or automatically via the platform wake lock. This can happen if the document becomes inactive or looses visibility, if the device is low on power or the user turns on a power save mode. Releasing all WakeLockSentinel instances of a given wake lock type will cause the underlying platform wake lock to be released.

特性

This interface provides the following properties.

type 只读
返回 String representation of the currently acquired WakeLockSentinel 类型。
Return values are:
  • 'screen' : A screen wake lock. Prevents devices from dimming or locking the screen.

事件处理程序

onrelease
Fired when the release() method is called or the wake lock is released by the user agent.

方法

release()
释放 WakeLockSentinel , returning a Promise that is resolved once the sentinel has been successfully released.

范例

In this example we create an asynchronous function which requests a WakeLockSentinel . Once acquired we listen for the onrelease event which can be used to give appropriate UI feedback. The sentinel can be acquired or released via appropriate interactions.

// create a reference for the wake lock
let wakeLock = null;
// create an async function to request a wake lock
const requestWakeLock = async () => {
  try {
    wakeLock = await navigator.wakeLock.request('screen');
    // listen for our release event
    wakeLock.addEventListener('release', () => {
      // if wake lock is released alter the UI accordingly
    });
  } catch (err) {
    // if wake lock request fails - usually system related, such as battery
  }
}
wakeLockOnButton.addEventListener('click', () => {
  requestWakeLock();
})
wakeLockOffButton.addEventListener('click', () => {
  if (wakeLock !== null) {
    wakeLock.release()
      .then(() => {
        wakeLock = null;
      })
  }
})
					

规范

规范 状态 Comment
Screen Wake Lock API
The definition of 'WakeLockSentinel' in that specification.
未知 初始定义。

浏览器兼容性

更新 GitHub 上的兼容性数据
Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet
WakeLockSentinel Chrome 84 Edge 84 Firefox No IE No Opera Yes Safari No WebView Android 84 Chrome Android 84 Firefox Android No Opera Android Yes Safari iOS No Samsung Internet Android Yes
onrelease Chrome 84 Edge 84 Firefox No IE No Opera Yes Safari No WebView Android 84 Chrome Android 84 Firefox Android No Opera Android Yes Safari iOS No Samsung Internet Android Yes
release Chrome 84 Edge 84 Firefox No IE No Opera Yes Safari No WebView Android 84 Chrome Android 84 Firefox Android No Opera Android Yes Safari iOS No Samsung Internet Android Yes
type Chrome 84 Edge 84 Firefox No IE No Opera Yes Safari No WebView Android 84 Chrome Android 84 Firefox Android No Opera Android Yes Safari iOS No Samsung Internet Android Yes

图例

完整支持
完整支持
不支持
不支持