This page is not complete.

Secure context

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

The request() method of the WakeLock interface returns a Promise that resolves with a WakeLockSentinel object, which allows control over screen dimming and locking.


var wakeLock = navigator.wakeLock.request(type);


Options are as follows:
  • 'screen': Requests a screen wake lock. Prevents devices from dimming or locking the screen.

Return value

A Promise that resolves with a WakeLockSentinel object.


Thrown when wake lock is not available, which can happen because:
  • Document is not allowed to use screen wake lock due to screen-wake-lock policy.
  • Document is not fully active.
  • Document is hidden.
  • User Agent could not acquire platform's wake lock.


The following asynchronous function requests a WakeLockSentinel object. The request() method is wrapped in a try...catch statement to account for if the browser refuses the request for any reason.

const requestWakeLock = async () => {
  try {

    const wakeLock = await navigator.wakeLock.request('screen');

  } catch (err) {
    // The wake lock request fails - usually system-related, such as low battery.

    console.log(`${err.name}, ${err.message}`);



Specification Status Comment
Screen Wake Lock API
The definition of 'request()' in that specification.
Editor's Draft Initial definition.

Browser compatibility

BCD tables only load in the browser

See also