This page was translated from English by the community. Learn more and join the MDN Web Docs community.

View in English Always switch to English

Clients.claim()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨апрель 2018 г.⁩.

Метод claim() интерфейса Clients позволяет активному сервис-воркеру установить себя контролирующим воркером для всех клиентских страниц в своей области видимости. Вызывает событие "controllerchange" на navigator.serviceWorker всех клиентских страниц, контролируемых сервис-воркером.

После регистрации сервис-воркера страницы не начнут использовать его, пока не загрузятся вновь. Метод claim() позволяет установить контроль над страницами немедленно. Имейте в виду, что в этом случае ваш сервис-воркер будет контролировать все загружаемые по сети страницы этого origin, в т. ч. из других сервис-воркеров.

Синтаксис

js
await clients.claim();

Параметры

Нет.

Результат

Promise с undefined.

Пример

В примере ниже внутри обработчика события "activate" сервис-воркера используется метод claim(), что позволяет клиентской странице, загруженной в той же области видимости, обходиться без перезагрузки для использования сервис-воркером.

js
self.addEventListener("activate", (event) => {
  event.waitUntil(clients.claim());
});

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

Specification
Service Workers
# clients-claim

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

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