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

Dieses Ereignis ist nicht deaktivierbar und wird nicht gebubbelt.

Syntax

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

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

onbackgroundfetchclick = (event) => {};

Ereignistyp

Ereigniseigenschaften

Erbt Eigenschaften von seinem Elternteil, ExtendableEvent.

BackgroundFetchEvent.registration

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

Beschreibung

Wenn eine Background-Fetch-Operation gestartet wird, 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 nötig, und löst das backgroundfetchclick-Ereignis im globalen Bereich 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 weiteren Details

Dieser Ereignis-Handler verwendet die globale clients-Eigenschaft, um ein Fenster zu öffnen, das dem Benutzer mehr Details über den Fetch gibt. Es öffnet ein anderes Fenster, 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

BCD tables only load in the browser

Siehe auch