WindowClient

Этот перевод не завершён. Пожалуйста, помогите перевести эту статью с английского

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

Методы

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

WindowClient.focus()
Фокусирует пользователя на текущем окне.
WindowClient.navigate()
Загружает указанный 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('/');
  }));
});

Спецификации

Спецификация Статус Комментарий
Service Workers
Определение 'WindowClient' в этой спецификации.
Рабочий черновик Initial definition

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

Update compatibility data on GitHub
КомпьютерыМобильные
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome для AndroidFirefox для AndroidOpera для AndroidSafari on iOSSamsung Internet
WindowClient
Экспериментальная
Chrome Полная поддержка 42Edge Полная поддержка ≤18Firefox Полная поддержка 44
Замечания
Полная поддержка 44
Замечания
Замечания Extended Support Releases (ESR) before Firefox 78 ESR do not support service workers and the Push API.
IE Нет поддержки НетOpera ? Safari Нет поддержки НетWebView Android Нет поддержки НетChrome Android Полная поддержка 42Firefox Android Полная поддержка 44Opera Android ? Safari iOS Нет поддержки НетSamsung Internet Android Полная поддержка 4.0
ancestorOriginsChrome ? Edge ? Firefox ? IE Нет поддержки НетOpera ? Safari Нет поддержки НетWebView Android Нет поддержки НетChrome Android ? Firefox Android ? Opera Android ? Safari iOS Нет поддержки НетSamsung Internet Android ?
focus
Экспериментальная
Chrome Полная поддержка 42Edge Полная поддержка ≤18Firefox Полная поддержка 44
Замечания
Полная поддержка 44
Замечания
Замечания Extended Support Releases (ESR) before Firefox 78 ESR do not support service workers and the Push API.
IE Нет поддержки НетOpera ? Safari Нет поддержки НетWebView Android Нет поддержки НетChrome Android Полная поддержка 42Firefox Android Полная поддержка 44Opera Android ? Safari iOS Нет поддержки НетSamsung Internet Android Полная поддержка 4.0
focused
Экспериментальная
Chrome Полная поддержка 42Edge Полная поддержка ≤18Firefox Полная поддержка 44
Замечания
Полная поддержка 44
Замечания
Замечания Extended Support Releases (ESR) before Firefox 78 ESR do not support service workers and the Push API.
IE Нет поддержки НетOpera ? Safari Нет поддержки НетWebView Android Нет поддержки НетChrome Android Полная поддержка 42Firefox Android Полная поддержка 44Opera Android ? Safari iOS Нет поддержки НетSamsung Internet Android Полная поддержка 4.0
navigate
Экспериментальная
Chrome Полная поддержка 49Edge Полная поддержка ≤18Firefox Полная поддержка 44
Замечания
Полная поддержка 44
Замечания
Замечания Extended Support Releases (ESR) before Firefox 78 ESR do not support service workers and the Push API.
IE Нет поддержки НетOpera ? Safari Нет поддержки НетWebView Android Нет поддержки НетChrome Android Полная поддержка 49Firefox Android Полная поддержка 44Opera Android ? Safari iOS Нет поддержки НетSamsung Internet Android Полная поддержка 4.0
visibilityState
Экспериментальная
Chrome Полная поддержка 42Edge Полная поддержка ≤18Firefox Полная поддержка 44
Замечания
Полная поддержка 44
Замечания
Замечания Extended Support Releases (ESR) before Firefox 78 ESR do not support service workers and the Push API.
IE Нет поддержки НетOpera ? Safari Нет поддержки НетWebView Android Нет поддержки НетChrome Android Полная поддержка 42Firefox Android Полная поддержка 44Opera Android ? Safari iOS Нет поддержки НетSamsung Internet Android Полная поддержка 4.0

Легенда

Полная поддержка  
Полная поддержка
Нет поддержки  
Нет поддержки
Совместимость неизвестна  
Совместимость неизвестна
Экспериментальная. Ожидаемое поведение может измениться в будущем.
Экспериментальная. Ожидаемое поведение может измениться в будущем.
Смотрите замечания реализации.
Смотрите замечания реализации.

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