Ночные Работники Службы | Расширяемость

Ночные Работники Службы | Расширяемость

Спецификация Service Workers расширяется за счет других спецификаций.

 

7.1. Определите API, привязанный к регистрации Service Worker

Спецификации могут определять API, привязанный к регистрации работника службы, используя определение частичного интерфейса для интерфейса ServiceWorkerRegistration, где он может определять специфические для спецификации атрибуты и методы:

ПРИМЕР 5

partial interface ServiceWorkerRegistration {
  // например определить пространство имен API
  readonly attribute APISpaceType APISpace;
  // например определить метод
  Promise<T> methodName(/* list of arguments */);
};

 

7.2. Определить функциональное событие

Спецификации могут определять функциональное событие путем расширения интерфейса ExtendableEvent:

ПРИМЕР 6

// например определить интерфейс FunctionalEvent
interface FunctionalEvent : ExtendableEvent {
  // добавить собственные атрибуты и методы функционального события
};

 

7.3. Определить обработчик событий

Спецификации могут определять атрибут обработчика событий для соответствующего функционального события, используя определение частичного  интерфейса для интерфейса ServiceWorkerGlobalScope:

ПРИМЕР 7

partial interface ServiceWorkerGlobalScope {
  attribute EventHandler onfunctionalevent;
};

 

7.4. Запуск функциональных событий

Чтобы запросить отправку функционального события активному работнику из регистрации работника службы, спецификации должны вызывать Функциональное Событие Пожара.

 

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

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