WindowClient: метод focus()
Базовая реализация Широко доступна
Эта функция хорошо отработана и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с апреля 2018 года.
Примечание: Эта функция доступна только в Рабочих процессах.
Метод focus() интерфейса WindowClient даёт фокус на ввод пользователю текущему клиенту и возвращает Promise, который разрешается существующим WindowClient.
Синтаксис
focus()
Параметры
Нет.
Возвращаемое значение
A Promise, который разрешается существующим WindowClient.
Исключения
-
InvalidAccessErrorDOMException -
Обещание отклоняется с этим исключением, если ни одно из окон в области происхождения приложения не имеет временного активации.
Требования безопасности
- По меньшей мере одно окно в области происхождения приложения должно иметь временную активацию.
Примеры
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("/");
}),
);
});
Спецификации
| Спецификация |
|---|
| Рабочие процессы # client-focus |
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
focus |
42 | 17 | 44 | 29 | 11.1 | 42 | 44 | 29 | 11.3 | 4.0 | 42 |
© 2005–2024 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