title | slug | page-type | status | browser-compat | |
---|---|---|---|---|---|
WakeLock.request() |
Web/API/WakeLock/request |
web-api-instance-method |
|
api.WakeLock.request |
{{APIRef("Screen Wake Lock API")}}{{SecureContext_Header}}{{SeeCompatTable}}
The request()
method of the
{{domxref("WakeLock")}} interface returns a {{jsxref("Promise")}} that resolves with a
{{domxref("WakeLockSentinel")}} object, which allows control over screen dimming and
locking.
request(type)
-
type
-
: Options are as follows:
'screen'
- : Requests a screen wake lock. Prevents devices from dimming or locking the screen.
-
A {{jsxref("Promise")}} that resolves with a {{domxref("WakeLockSentinel")}} object.
-
NotAllowedError
-
: Thrown when wake lock is not available, which can happen because:
- Use of this feature is blocked by a Permissions Policy.
- The document is not fully active.
- The document is hidden.
- The {{Glossary("User Agent")}} could not acquire platform's wake lock.
-
The following asynchronous function requests a {{domxref("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}`);
}
}
requestWakeLock();
{{Specifications}}
{{Compat}}
- {{DOMxRef("WakeLock")}}
- {{DOMxRef("Navigator.wakeLock")}}