WindowClient: focus() method
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2018.
Note: This feature is only available inService Workers.
Thefocus() method of theWindowClientinterface gives user input focus to the current client and returns aPromise that resolves to the existingWindowClient.
In this article
Syntax
js
focus()Parameters
None.
Return value
APromise that resolves to the existingWindowClient.
Exceptions
InvalidAccessErrorDOMExceptionThe promise is rejected with this exception if none of the windows in the app's origin havetransient activation.
Security requirements
- At least one window in the app's origin must havetransient activation.
Examples
js
self.addEventListener("notificationclick", (event) => { console.log("On notification click: ", event.notification.tag); event.notification.close(); // This looks to see if the current is already open and // focuses if it is event.waitUntil( clients .matchAll({ type: "window", }) .then((clientList) => { for (const client of clientList) { if (client.url === "/" && "focus" in client) return client.focus(); } if (clients.openWindow) return clients.openWindow("/"); }), );});Specifications
| Specification |
|---|
| Service Workers Nightly> # client-focus> |