MDN wants to learn about developers like you: https://qsurvey.mozilla.com/s3/MDN-dev-survey

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

Это экспериментальная технология
Так как спецификация этой технологии ещё не стабилизировалась, смотрите таблицу совместимости по поводу использования в различных браузерах. Также заметьте, что синтаксис и поведение экспериментальной технологии может измениться в будущих версиях браузеров, вслед за изменениями спецификации.

Метод claim() интерфейса Clients позволяет активному сервис воркеру установить себя как активного воркера для клиентской страницы, когда воркер и страница находятся в одной области. Он запускает событие oncontrollerchange на всех клиентских страницах в пределах области сервис воркера.

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

Синтаксис

ServiceWorkerClients.claim().then(function() {
  // Что-то делается
});

Параметры

Нет.

Результат

Promise.

Пример

Следующий пример использует claim() внутри обработчика события onActivate сервис воркера, так что клиентская страница, загруженая в той же области, не нуждается в перезагрузке прежде чем она может быть использована сервис воркером.

self.addEventListener('install', function(event) {
  event.waitUntil(self.skipWaiting());
});
self.addEventListener('activate', function(event) {
  event.waitUntil(self.clients.claim());
});

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

Спецификация Статус Комментарий
Service Workers
Определение 'Clients' в этой спецификации.
Рабочий черновик Initial definition. It is still under development (see issue 414 and issue 423).

Поддержка браузерами

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support 42.0 44.0 (44.0)[1] Нет 24 Нет
Feature Android Firefox Mobile (Gecko) Firefox OS IE Mobile Opera Mobile Safari Mobile Chrome for Android
Basic support ? 44.0 (44.0) (Да) Нет ? Нет ?

[1] Service workers (and Push) have been disabled in the Firefox 45 & 52 Extended Support Releases (ESR.)

Смотри так же

Метки документа и участники

 Внесли вклад в эту страницу: curdwithraisins
 Обновлялась последний раз: curdwithraisins,