WindowClient
Baseline Widely available *
This feature is well established and works across many devices and browser versions. It’s been available across browsers since апрель 2018 г..
* Some parts of this feature may have varying levels of support.
Интерфейс WindowClient ServiceWorker API представляет область действия клиента сервис-воркера, который представляет собой документ в контексте просмотра, управляемый активным исполнителем. Клиент сервис-воркера самостоятельно выбирает и использует сервис-воркера для собственной загрузки и загрузки подресурсов.
Методы
WindowClient наследует методы от своего родительского интерфейса Client.
WindowClient.focus()-
Фокусирует пользователя на текущем окне.
-
Загружает указанный URL-адрес на управляемую клиентскую страницу.
Свойства
WindowClient наследует методы от своего родительского интерфейса Client.
WindowClient.focusedТолько для чтения-
Логическое значение, указывающее, находится ли текущая страница в фокусе.
WindowClient.visibilityStateТолько для чтения-
Указывает, отображается ли текущая страница. Это значение может быть одним из
"hidden" (скрыта),"visible" (отображена)или"prerender" (предварительно отрисована).
Пример
self.addEventListener("notificationclick", function (event) { console.log("On notification click: ", event.notification.tag); event.notification.close(); // Проверяем, открыто ли окно и // сфокусированы ли на нем event.waitUntil( clients .matchAll({ type: "window", }) .then(function (clientList) { for (var i = 0; i < clientList.length; i++) { var client = clientList[i]; if (client.url == "/" && "focus" in client) { client.focus(); break; } } if (clients.openWindow) return clients.openWindow("/"); }), ); }); Спецификации
| Specification |
|---|
| Service Workers Nightly> # windowclient> |