WindowClient
Интерфейс 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 # windowclient |
Совместимость с браузерами
BCD tables only load in the browser