BackgroundFetchManager: fetch()-Methode
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, bevor Sie diese produktiv verwenden.
Hinweis: Dieses Feature ist verfügbar in Web Workers.
Die fetch()
-Methode der BackgroundFetchManager
-Schnittstelle initiiert einen Hintergrundabruf, basierend auf einer oder mehreren URLs oder Request
-Objekten.
Syntax
fetch(id, requests)
fetch(id, requests, options)
Parameter
id
-
Ein vom Entwickler definierter Bezeichner, der an andere Methoden übergeben werden kann, um die
BackgroundFetchRegistration
für diesen Vorgang abzurufen. requests
-
Ein
RequestInfo
-Objekt oder ein Array vonRequestInfo
-Objekten.Jedes
RequestInfo
-Objekt ist einRequest
-Objekt oder ein String, der alsinput
-Argument an denRequest()
-Konstruktor übergeben wird. options
Optional-
Ein Objekt, das verwendet wird, um das Fortschrittsdialogfeld des Abrufs anzupassen, das der Browser dem Benutzer zeigt. Es hat folgende Eigenschaften:
title
Optional-
Ein String, der als Titel für das Fortschrittsdialogfeld verwendet wird.
icons
Optional-
Ein Array von Objekten, die jeweils ein Symbol darstellen, das der Browser für das Fortschrittsdialogfeld verwenden kann. Jedes Objekt hat die folgenden Eigenschaften:
src
-
Ein String, der eine URL zur Symbol-Datei darstellt.
sizes
Optional-
Ein String, der die Größen des Bildes darstellt, ausgedrückt mit der gleichen Syntax wie das
sizes
-Attribut des<link>
-Elements. type
Optional-
Ein String, der den MIME-Typ des Symbols darstellt.
label
Optional-
Ein String, der den zugänglichen Namen des Symbols darstellt.
downloadTotal
Optional-
Eine Zahl, die die geschätzte Gesamtdownloadgröße in Bytes für den Abrufvorgang darstellt. Dies wird verwendet, um dem Benutzer anzuzeigen, wie groß der Download ist, und um den Downloadfortschritt zu zeigen.
Sobald die Gesamtdownloadgröße
downloadTotal
überschreitet, wird der Abruf abgebrochen.
Rückgabewert
Ein Promise
, das mit einem BackgroundFetchRegistration
-Objekt aufgelöst wird.
Ausnahmen
TypeError
-
Tritt auf, wenn keine Anfrage bereitgestellt wird, wenn der Modus einer Anfrage
no-cors
ist, wenn kein Servicearbeiter vorhanden ist, bereits eine Anfrage mit der angefordertenid
existiert oder die Anfrage fehlschlägt. AbortError
DOMException
-
Zeigt an, dass der Abruf abgebrochen wurde.
NotAllowedError
DOMException
-
Zeigt an, dass keine Benutzererlaubnis für Hintergrundabrufe erteilt wurde.
QuotaExceededError
DOMException
-
Wird ausgelöst, wenn das Speichern von Anfragen aufgrund des Überschreitens des Speicherlimits des Browsers fehlschlägt.
Beispiele
Das folgende Beispiel zeigt, wie fetch()
verwendet wird, um einen Hintergrundabruf zu initiieren. Mit einem aktiven
Servicearbeiters verwenden Sie die
ServiceWorkerRegistration.backgroundFetch
-Eigenschaft, um auf das
BackgroundFetchManager
-Objekt zuzugreifen und dessen fetch()
-Methode aufzurufen.
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",
label: "Downloading a show",
},
],
downloadTotal: 60 * 1024 * 1024,
},
);
});
Spezifikationen
Specification |
---|
Background Fetch # background-fetch-manager-fetch |
Browser-Kompatibilität
BCD tables only load in the browser