ServiceWorkerGlobalScope: событие activate
Базовая поддержка Широко распространена
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузера. Она доступна в браузерах с апреля 2018 года.
Безопасный контекст: Эта функция доступна только в безопасных контекстах (HTTPS) в некоторых или всех поддерживающих браузерах.
Примечание: Эта функция доступна только в Сервис-воркерах.
Событие activate интерфейса ServiceWorkerGlobalScope срабатывает, когда регистрация ServiceWorkerRegistration получает нового активного ServiceWorkerRegistration.active работника.
Это событие не отменяется и не распространяется.
Синтаксис
Используйте имя события в методах, таких как addEventListener(), или задайте свойство обработчика события.
addEventListener("activate", (event) => {});
onactivate = (event) => {};
Тип события
Объект ExtendableEvent. Наследуется от Event.
Свойства события
Не реализует специфичных свойств, но наследует свойства от родителя, Event.
Примеры
Следующий фрагмент кода демонстрирует, как использовать обработчик события activate для обновления кэша.
self.addEventListener("activate", (event) => {
const cacheAllowlist = ["v2"];
event.waitUntil(
caches.keys().then((cacheNames) => {
return Promise.all(
cacheNames.map((cacheName) => {
if (!cacheAllowlist.includes(cacheName)) {
return caches.delete(cacheName);
}
}),
);
}),
);
});
Также можно настроить обработчик события с помощью свойства onactivate:
self.onactivate = (event) => {
// ...
};
Спецификации
| Спецификация |
|---|
| Сервис-воркеры # service-worker-global-scope-activate-event |
| Сервис-воркеры # dom-serviceworkerglobalscope-onactivate |
Совместимость с браузерами
| Рабочий стол | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
activate_event |
40 | 17 | 44 | 24 | 11.1 | 40 | 44 | 24 | 11.3 | 4.0 | 40 |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerGlobalScope/activate_event