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 vor der Verwendung auf produktiven Webseiten.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Die fetch()
Methode des BackgroundFetchManager
Interface initiiert eine Hintergrund-Fetch-Operation, basierend auf einer oder mehreren URLs oder Request
Objekten.
Syntax
fetch(id, requests)
fetch(id, requests, options)
Parameter
id
-
Eine vom Entwickler definierte Kennung, die an andere Methoden übergeben werden kann, um die
BackgroundFetchRegistration
für diese Operation 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 den Fortschrittsdialog des Fetch-Vorgangs zu gestalten, den der Browser dem Benutzer anzeigt. Es hat folgende Eigenschaften:
title
Optional-
Ein String, der als Titel für den Fortschrittsdialog verwendet wird.
icons
Optional-
Ein Array von Objekten, die jeweils ein Symbol darstellen, das der Browser für den Fortschrittsdialog verwenden kann. Jedes Objekt hat folgende 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 derselben 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 Fetch-Vorgang darstellt. Diese wird verwendet, um dem Benutzer die Größe des Downloads anzuzeigen und den Fortschritt des Downloads darzustellen.
Sobald die gesamte Downloadgröße
downloadTotal
übersteigt, wird der Fetch abgebrochen.
Rückgabewert
Ein Promise
, das mit einem BackgroundFetchRegistration
Objekt aufgelöst wird.
Ausnahmen
TypeError
-
Wird ausgelöst, wenn keine Anfrage bereitgestellt wird, wenn der Modus einer Anfrage
no-cors
ist, wenn kein Service-Worker vorhanden ist, wenn bereits eine Anfrage mit der angefordertenid
existiert oder wenn die Anfrage fehlschlägt. AbortError
DOMException
-
Gibt an, dass der Fetch abgebrochen wurde.
NotAllowedError
DOMException
-
Gibt an, dass die Benutzererlaubnis zum Durchführen von Hintergrund-Fetches nicht erteilt wurde.
QuotaExceededError
DOMException
-
Wird ausgelöst, wenn die Speicherung von Anfragen aufgrund der Überschreitung des Speicherlimits des Browsers fehlschlägt.
Beispiele
Das folgende Beispiel zeigt, wie fetch()
verwendet wird, um eine Hintergrund-Fetch-Operation zu initiieren. Mit einem aktiven Service Worker 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 |