Experimentell: Dies ist eine experimentelle Technologie
Ãberprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die Background Fetch API bietet eine Methode zum Verwalten von Downloads, die viel Zeit in Anspruch nehmen können, wie Filme, Audiodateien und Software.
Konzepte und VerwendungWenn eine Webanwendung den Benutzer bittet, groÃe Dateien herunterzuladen, stellt dies häufig ein Problem dar, da der Benutzer mit der Seite verbunden bleiben muss, damit der Download abgeschlossen wird. Bei Verlust der Verbindung, SchlieÃen des Tabs oder Wechseln zu einer anderen Seite stoppt der Download.
Die Background Synchronization API ermöglicht es Service-Workern, die Verarbeitung aufzuschieben, bis ein Benutzer verbunden ist; sie kann jedoch nicht für lang andauernde Aufgaben wie das Herunterladen einer groÃen Datei verwendet werden. Background Sync erfordert, dass der Service-Worker so lange aktiv bleibt, bis der Abruf abgeschlossen ist. Um die Akkulaufzeit zu schonen und unerwünschte Hintergrundaktivitäten zu vermeiden, wird der Browser die Aufgabe irgendwann beenden.
Die Background Fetch API löst dieses Problem. Sie ermöglicht es einem Webentwickler, dem Browser mitzuteilen, einige Abrufe im Hintergrund auszuführen, zum Beispiel wenn der Benutzer auf eine Schaltfläche klickt, um eine Videodatei herunterzuladen. Der Browser führt die Abrufe dann in einer für den Benutzer sichtbaren Weise durch, zeigt den Fortschritt an und bietet eine Möglichkeit zum Abbrechen des Downloads. Sobald der Download abgeschlossen ist, öffnet der Browser den Service-Worker, woraufhin Ihre Anwendung bei Bedarf mit der Antwort arbeiten kann.
Die Background Fetch API ermöglicht den Abruf, wenn der Benutzer den Prozess offline startet. Sobald er verbunden ist, beginnt der Prozess. Wenn der Benutzer offline geht, pausiert der Prozess, bis der Benutzer wieder online ist.
SchnittstellenBackgroundFetchManager
Experimentell
Eine Map, in der die Schlüssel Hintergrundabruf-IDs und die Werte BackgroundFetchRegistration
-Objekte sind.
BackgroundFetchRegistration
Experimentell
Repräsentiert einen Hintergrundabruf.
BackgroundFetchRecord
Experimentell
Repräsentiert eine einzelne Abrufanfrage und Antwort.
BackgroundFetchEvent
Experimentell
Der Ereignistyp für die Ereignisse backgroundfetchabort
und backgroundfetchclick
.
BackgroundFetchUpdateUIEvent
Experimentell
Der Ereignistyp für die Ereignisse backgroundfetchsuccess
und backgroundfetchfail
.
ServiceWorkerRegistration.backgroundFetch
Schreibgeschützt Experimentell
Gibt eine Referenz auf ein BackgroundFetchManager
-Objekt zurück, das Hintergrundabrufoperationen verwaltet.
backgroundfetchabort
Ereignis Experimentell
Wird ausgelöst, wenn ein Hintergrundabruf von dem Benutzer oder der App abgebrochen wurde.
backgroundfetchclick
Ereignis Experimentell
Wird ausgelöst, wenn der Benutzer auf die Benutzeroberfläche für eine Hintergrundabrufoperation geklickt hat.
backgroundfetchfail
Ereignis Experimentell
Wird ausgelöst, wenn mindestens eine der Anfragen in einer Hintergrundabrufoperation fehlgeschlagen ist.
backgroundfetchsuccess
Ereignis Experimentell
Wird ausgelöst, wenn alle Anfragen in einer Hintergrundabrufoperation erfolgreich waren.
Ãberprüfen Sie die Browser-Kompatibilität, bevor Sie Background Fetch verwenden.
if (!("BackgroundFetchManager" in self)) {
// Provide fallback downloading.
}
Die Verwendung von Background Fetch erfordert einen registrierten Service-Worker. Dann rufen Sie backgroundFetch.fetch()
auf, um einen Abruf durchzuführen. Dies gibt ein Versprechen zurück, das mit einer BackgroundFetchRegistration
aufgelöst wird.
Ein Hintergrundabruf kann eine Anzahl von Dateien abrufen. In unserem Beispiel fordert der Abruf eine MP3 und eine JPEG an. Dies ermöglicht das Herunterladen eines Pakets von Dateien, die der Benutzer als ein Element ansieht (zum Beispiel ein Podcast und ein Artwork).
navigator.serviceWorker.ready.then(async (swReg) => {
const bgFetch = await swReg.backgroundFetch.fetch(
"my-fetch",
["/ep-5.mp3", "ep-5-artwork.jpg"],
{
title: "Episode 5: Interesting things.",
icons: [
{
sizes: "300x300",
src: "/ep-5-icon.png",
type: "image/png",
},
],
downloadTotal: 60 * 1024 * 1024,
},
);
});
Sie finden weitere Codebeispiele und eine Demo in Introducing Background Fetch.
Spezifikationen Browser-Kompatibilität api.BackgroundFetchManager api.BackgroundFetchRegistration api.BackgroundFetchRecord Siehe auchRetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4