Web/API/WakeLock/request

From Get docs

Draft This page is not complete.


Secure contextThis 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.

Syntax

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

Parameters

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.

Exceptions

NotAllowedError
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.

Examples

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 low as battery

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

requestWakeLock();

Specifications

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

Browser compatibility

Update compatibility data on 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

request

Experimental'

Chrome

Full support 84

Edge

Full support 84

Firefox

No support No

IE

No support No

Opera

Full support Yes

Safari

No support No

WebView Android

Full support 84

Chrome Android

Full support 84

Firefox Android

No support No

Opera Android

Full support Yes

Safari iOS

No support No

Samsung Internet Android

No support No

Legend

Full support  
Full support
No support  
No support
Experimental. Expect behavior to change in the future.'
Experimental. Expect behavior to change in the future.


See also