WakeLock

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

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

The WakeLock interface of the Screen Wake Lock API can be used to request a lock that prevents device screens from dimming or locking when an application needs to keep running.

This interface, and hence the system wake lock, is exposed through the Navigator.wakeLock property.

Instance methods

request()

Returns a Promise that fulfills with a WakeLockSentinel object if the screen wake lock is granted.

Examples

The following code awaits the request for a WakeLockSentinel object, and continues if the request is granted.

The WakeLock.request() method is wrapped in a try...catch statement to catch cases when the promise might be rejected rejected, such as due to low device power.

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}`);
}

Note that the screen wake lock may be revoked by the device after it has been granted. The returned WakeLockSentinel can be used to check the status of the lock, and/or to manually cancel a held screen wake lock.

Specifications

Specification
Screen Wake Lock API
# the-wakelock-interface

Browser compatibility

BCD tables only load in the browser

See also