--- 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). |
| Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
|---|---|---|---|---|---|
| Basic support | {{CompatChrome(42.0)}} | {{ CompatGeckoDesktop("44.0") }}[1] | {{CompatNo}} | 24 | {{CompatNo}} |
| Feature | Android | Firefox Mobile (Gecko) | Firefox OS | IE Mobile | Opera Mobile | Safari Mobile | Chrome for Android |
|---|---|---|---|---|---|---|---|
| Basic support | {{CompatUnknown}} | {{ CompatGeckoMobile("44.0") }} | {{ CompatVersionUnknown }} | {{CompatNo}} | {{CompatUnknown}} | {{CompatNo}} | {{CompatUnknown}} |
[1] Service workers (and Push) have been disabled in the Firefox 45 & 52 Extended Support Releases (ESR.)