WakeLock

Draft
This page is not complete.

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 prevents device screens from dimming or locking when an application needs to keep running.

The system wake lock is exposed through the global Navigator.wakelock property.

Methods

request
Requests a WakeLockSentinel object, which returns a Promise that resolves with a WakeLockSentinel object.

Examples

The following asynchronous function requests a WakeLockSentinel object. The WakeLock.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 API
The definition of 'WakeLock' in that specification.
Unknown Initial definition.

Browser compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
WakeLockChrome Full support 84Edge Full support 84Firefox No support NoIE No support NoOpera Full support YesSafari No support NoWebView Android Full support 84Chrome Android Full support 84Firefox Android No support NoOpera Android Full support YesSafari iOS No support NoSamsung Internet Android Full support Yes
requestChrome Full support 84Edge Full support 84Firefox No support NoIE No support NoOpera Full support YesSafari No support NoWebView Android Full support 84Chrome Android Full support 84Firefox Android No support NoOpera Android Full support YesSafari iOS No support NoSamsung Internet Android Full support Yes

Legend

Full support  
Full support
No support  
No support