WindowClient
Базовая поддержка Широко доступна *
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с апреля 2018 года.
* Некоторые части этой функции могут иметь различный уровень поддержки.
Примечание: Эта функция доступна только в Service Workers.
Интерфейс WindowClient API ServiceWorker представляет область действия клиента service worker, который является документом в контексте просмотра, управляемым активным worker. Клиент service worker независимо выбирает и использует service worker для собственной загрузки и подресурсов.
Способы работы с экземплярами
WindowClient наследует методы от своего родительского интерфейса, Client.
WindowClient.focus()-
Передает фокус пользовательского ввода текущему клиенту.
-
Загружает указанный URL в управляемой странице клиента.
Свойства экземпляров
WindowClient наследует свойства от своего родительского интерфейса, Client.
-
WindowClient.ancestorOriginsТолько для чтения Экспериментально -
Массив строк, указывающий корневые происхождения контекста просмотра, представленного этим
WindowClient, в обратном порядке. -
WindowClient.focusedТолько для чтения -
Булево значение, указывающее, имеет ли текущий клиент фокус.
-
WindowClient.visibilityStateТолько для чтения -
Указывает видимость текущего клиента. Это значение может быть одним из
"hidden","visible", или"prerender".
Пример
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) {
client.focus();
break;
}
}
if (clients.openWindow) return clients.openWindow("/");
}),
);
});
Спецификации
| Спецификация |
|---|
| Service Workers # windowclient |
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
WindowClient |
42 | 17 | 44 | 29 | 11.1 | 42 | 44 | 29 | 11.3 | 4.0 | 42 |
ancestorOrigins |
Нет | Нет | Нет | Нет | 16 | Нет | Нет | Нет | 16 | Нет | Нет |
focus |
42 | 17 | 44 | 29 | 11.1 | 42 | 44 | 29 | 11.3 | 4.0 | 42 |
focused |
42 | 17 | 44 | 29 | 11.1 | 42 | 44 | 29 | 11.3 | 4.0 | 42 |
navigate |
49 | 17 | 50 | 36 | 1611.1–16Этот метод существует, но всегда выбрасываетNotSupportedError. |
49 | 50 | 36 | 1611.3–16Этот метод существует, но всегда выбрасываетNotSupportedError. |
4.0 | 42 |
visibilityState |
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