ServiceWorkerGlobalScope: activate-Event
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2018.
Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.
Hinweis: Diese Funktion ist nur in Service Workers verfügbar.
Das activate
-Ereignis der Schnittstelle ServiceWorkerGlobalScope
wird ausgelöst, wenn eine ServiceWorkerRegistration
einen neuen ServiceWorkerRegistration.active
-Worker erhält.
Dieses Ereignis kann nicht abgebrochen werden und wird nicht weitergereicht.
Syntax
Verwenden Sie den Ereignisnamen in Methoden wie addEventListener()
, oder legen Sie eine Ereignishandler-Eigenschaft fest.
addEventListener("activate", (event) => {});
onactivate = (event) => {};
Ereignistyp
Ein ExtendableEvent
. Erbt von Event
.
Ereigniseigenschaften
Implementiert keine spezifischen Eigenschaften, erbt jedoch Eigenschaften von seinem Elternobjekt, Event
.
Beispiele
Der folgende Ausschnitt zeigt, wie ein activate
-Ereignishandler verwendet werden könnte, um einen Cache zu aktualisieren.
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);
}
}),
);
}),
);
});
Sie können den Ereignishandler auch mit der onactivate
-Eigenschaft einrichten:
self.onactivate = (event) => {
// ...
};
Spezifikationen
Specification |
---|
Service Workers # service-worker-global-scope-activate-event |
Service Workers # dom-serviceworkerglobalscope-onactivate |
Browser-Kompatibilität
BCD tables only load in the browser