The focus()
method of the WindowClient
interface gives user input focus to the current client and returns a Promise
that resolves to the existing WindowClient
.
The focus()
method of the WindowClient
interface gives user input focus to the current client and returns a Promise
that resolves to the existing WindowClient
.
js
focus()
None.
A Promise
that resolves to the existing WindowClient
.
InvalidAccessError
DOMException
The promise is rejected with this exception if none of the windows in the app's origin have transient activation.
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("/"); }), ); });
Specification |
---|
Service Workers # client-focus |
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
focus |
42 | 17 | 44 | No | 29 | 11.1 | 42 | 42 | 44 | 29 | 11.3 | 4.0 |
© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/WindowClient/focus