This page was translated from English by the community. Learn more and join the MDN Web Docs community.

View in English Always switch to English

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()

Фокусирует пользователя на текущем окне.

WindowClient.navigate()

Загружает указанный URL-адрес на управляемую клиентскую страницу.

Свойства

WindowClient наследует методы от своего родительского интерфейса Client.

WindowClient.focused Только для чтения

Логическое значение, указывающее, находится ли текущая страница в фокусе.

WindowClient.visibilityState Только для чтения

Указывает, отображается ли текущая страница. Это значение может быть одним из "hidden" (скрыта), "visible" (отображена) или "prerender" (предварительно отрисована).

Пример

js
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

Совместимость с браузерами

Смотрите также