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.

js
addEventListener("activate", (event) => {});

onactivate = (event) => {};

Ereignistyp

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.

js
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:

js
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

Siehe auch