Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

ServiceWorkerGlobalScope: activate-Event

Baseline Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit April 2018 browserübergreifend verfügbar.

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.

Der activate-Event des ServiceWorkerGlobalScope-Interfaces wird ausgelöst, wenn eine ServiceWorkerRegistration einen neuen ServiceWorkerRegistration.active-Worker übernimmt.

Dieser Event kann nicht abgebrochen werden und wird nicht weitergeleitet.

Syntax

Verwenden Sie den Event-Namen in Methoden wie addEventListener() oder setzen Sie eine Event-Handler-Eigenschaft.

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

onactivate = (event) => { }

Eventtyp

Ein ExtendableEvent. Erbt von Event.

Event ExtendableEvent

Beispiele

Das folgende Codebeispiel zeigt, wie ein activate-Event-Handler verwendet werden könnte, um einen Cache zu aktualisieren.

js
self.addEventListener("activate", (event) => {
  const cacheAllowlist = ["v2"];

  event.waitUntil(
    caches.keys().then((cacheNames) =>
      Promise.all(
        cacheNames.map((cacheName) => {
          if (!cacheAllowlist.includes(cacheName)) {
            return caches.delete(cacheName);
          }
          return undefined;
        }),
      ),
    ),
  );
});

Sie können den Event-Handler auch über die onactivate-Eigenschaft einrichten:

js
self.onactivate = (event) => {
  // …
};

Spezifikationen

Spezifikation
Service Workers Nightly
# service-worker-global-scope-activate-event
Service Workers Nightly
# dom-serviceworkerglobalscope-onactivate

Browser-Kompatibilität

Siehe auch