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.
addEventListener("backgroundfetchclick", (event) => { })
onbackgroundfetchclick = (event) => { }
Ereignistyp
Ein BackgroundFetchEvent
.
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.
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 |