Ночные Работники Службы | Интерфейс ServiceWorkerGlobalScope

Ночные Работники Службы | Интерфейс ServiceWorkerGlobalScope

[Global=(Worker,ServiceWorker), Exposed=ServiceWorker]
interface ServiceWorkerGlobalScope : WorkerGlobalScope {
  [SameObject] readonly attribute Clients clients;
  [SameObject] readonly attribute ServiceWorkerRegistration registration;
  [SameObject] readonly attribute ServiceWorker serviceWorker;

  [NewObject] Promise<undefined> skipWaiting();

  attribute EventHandler oninstall;
  attribute EventHandler onactivate;
  attribute EventHandler onfetch;

  attribute EventHandler onmessage;
  attribute EventHandler onmessageerror;
};

 

Объект ServiceWorkerGlobalScope представляет глобальный контекст выполнения работника службы. У объекта ServiceWorkerGlobalScope есть связанный работник службы (service workerработник службы). У объекта ServiceWorkerGlobalScope есть связанный кеш принудительного обхода для флага сценариев импорта (force bypass cache for import scripts flag). Он изначально не установлен.

 

Примечание

Объект ServiceWorkerGlobalScope предоставляет общие, управляемые событиями, ограниченные по времени контексты выполнения скриптов, которые выполняются в источнике. После успешной регистрации, работник службы запускается, остаётся в живых и убивает своим отношением к событиям, а не к клиентам работника службы. Ни один тип синхронных запросов не должен инициироваться внутри работника службы.

 

4.1.1. Геттер clients

Шаги получателя клиентов clients должны вернуть связанный с этим this объект Clients.

 

4.1.2. Геттер registration

Шаги получателя registration должны вернуть результат получения объекта регистрации работника службы, представляющего работника службы, содержащего регистрацию работника службы этого this в соответствующем объекте настроек этого this.

 

4.1.3. Геттер serviceWorker

Шаги получателя serviceWorker должны вернуть результат получения объекта работника службы, который представляет работника службы этого this в соответствующем объекте настроек этого this.

 

4.1.4. Метод skipWaiting()

Примечание

Метод skipWaiting() позволяет этому работнику службы переходить из положения ожидания регистрации в активное, даже когда клиенты работника службы используют регистрацию.

Шаги метода skipWaiting():

1. Пусть обещание promise станет новым обещанием.
2. Параллельно выполните следующие подшаги:
   2.1 Установите флаг пропуска ожидания работника службы.
   2.2 Вызвать Пробную Активацию (Try Activate) с помощью работника службы, содержащего регистрацию работника службы.
   2.3 Разрешить promise с undefined.
3. Вернуть promise.

 

4.1.5. Обработчики событий ServiceWorkerGlobalScope

Ниже перечислены обработчики событий (и соответствующие им типы событий обработчиков событий), которые должны поддерживаться в качестве IDL-атрибутов обработчиков событий всеми объектами, реализующими интерфейс ServiceWorkerGlobalScope:

(event handler) (event handler event type)
oninstall install
onactivate activate
onfetch fetch
onmessage message
onmessageerror messageerror

 

 

Информационные ссылки

Стандарт Service Workers Nightlyhttps://w3c.github.io/ServiceWorker/#serviceworkerglobalscope-interface