ServiceWorkerGlobalScope: backgroundfetchclick-Ereignis

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.

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 backgroundfetchclick-Ereignis der ServiceWorkerGlobalScope-Schnittstelle wird ausgelöst, wenn der Benutzer auf die vom Browser bereitgestellte Benutzeroberfläche klickt, die dem Benutzer den Fortschritt der Background-Fetch-Operation anzeigt.

Dieses Ereignis ist nicht abbruchbar und löst keine Blasenbildung (Bubble-Effekt) aus.

Syntax

Verwenden Sie den Ereignisnamen in Methoden wie addEventListener() oder setzen Sie eine Ereignishandler-Eigenschaft.

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

onbackgroundfetchclick = (event) => { }

Ereignistyp

Ereigniseigenschaften

Erbt Eigenschaften von seinem übergeordneten ExtendableEvent.

BackgroundFetchEvent.registration

Gibt die BackgroundFetchRegistration zurück, deren Fortschrittsdialog der Benutzer angeklickt hat.

Beschreibung

Wenn eine Background-Fetch-Operation startet, zeigt der Browser dem Benutzer ein UI-Element an, um den Fortschritt der Operation anzuzeigen. Wenn der Benutzer auf dieses Element klickt, startet der Browser den Service-Worker, falls erforderlich, und löst das backgroundfetchclick-Ereignis im globalen Scope des Service-Workers aus.

Eine häufige Aufgabe für den Handler in dieser Situation ist es, ein Fenster zu öffnen, das dem Benutzer mehr Details über die Fetch-Operation bietet.

Beispiele

Öffnen eines Fensters mit mehr Details

Dieser Ereignishandler verwendet die globale clients-Eigenschaft, um ein Fenster zu öffnen, das dem Benutzer mehr Details über den Fetch bietet. Es wird ein anderes Fenster geöffnet, je nachdem, ob der Fetch abgeschlossen ist oder nicht.

js
addEventListener("backgroundfetchclick", (event) => {
  const registration = event.registration;

  if (registration.result === "success") {
    clients.openWindow("/play-movie");
  } else {
    clients.openWindow("/movie-download-progress");
  }
});

Spezifikationen

Specification
Background Fetch
# dom-serviceworkerglobalscope-onbackgroundfetchclick

Browser-Kompatibilität

Siehe auch