--- title: Clients.claim() slug: Web/API/Clients/claim translation_of: Web/API/Clients/claim ---

{{APIRef("Service Worker Clients")}}

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

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

Синтаксис

await clients.claim();

Параметры

Нет.

Результат

Promise с undefined.

Пример

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

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

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

Спецификация Статус Комментарий
{{SpecName('Service Workers', '#clients', 'Clients')}} {{Spec2('Service Workers')}} Initial definition. It is still under development (see issue 414 and issue 423).

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

{{Compat("api.Clients.claim")}}

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