Spec-Zone.ru › Web APIs

WindowClient

Базовая поддержка Широко доступна *

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с апреля 2018 года.

* Некоторые части этой функции могут иметь различный уровень поддержки.

  • Узнать больше
  • Полная совместимость
  • Отправить отзыв

Примечание: Эта функция доступна только в Service Workers.

Интерфейс WindowClient API ServiceWorker представляет область действия клиента service worker, который является документом в контексте просмотра, управляемым активным worker. Клиент service worker независимо выбирает и использует service worker для собственной загрузки и подресурсов.

Клиент WindowClient

Способы работы с экземплярами

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

WindowClient.focus()

Передает фокус пользовательского ввода текущему клиенту.

WindowClient.navigate()

Загружает указанный 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 16
11.1–16Этот метод существует, но всегда выбрасывает NotSupportedError.
49 50 36 16
11.3–16Этот метод существует, но всегда выбрасывает NotSupportedError.
4.0 42
visibilityState 42 17 44 29 11.1 42 44 29 11.3 4.0 42

См. также

  • Использование Service Workers
  • Базовый пример кода Service workers
  • Использование web workers
  • API Channel Messaging

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API