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 der BackgroundFetchManager
Schnittstelle initiiert einen Hintergrundabrufvorgang, gegeben durch eine oder mehrere URLs oder Request
Objekte.
Syntax
fetch(id, requests)
fetch(id, requests, options)
Parameter
id
-
Eine vom Entwickler definierte Kennung, die an die anderen 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 den Fortschrittsdialog des Abrufs anzupassen, den der Browser dem Benutzer anzeigt. Es hat die folgenden Eigenschaften:
title
Optional-
Ein String, der als Titel für den Fortschrittsdialog verwendet wird.
icons
Optional-
Ein Array von Objekten, wobei jedes Objekt ein Symbol darstellt, das der Browser möglicherweise für den Fortschrittsdialog verwendet. Jedes Objekt hat die folgenden Eigenschaften:
src
-
Ein String, der eine URL zur Symboldatei 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 Gesamtgröße des Downloads in Bytes für den Abrufvorgang darstellt. Diese wird verwendet, um dem Benutzer anzuzeigen, wie groß der Download ist, und um den Benutzer über den Fortschritt des Downloads zu informieren.
Sobald die Gesamtgröße des Downloads
downloadTotal
überschreitet, wird der Abruf 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 eine Anfrage bereits mit der angefordertenid
existiert oder die Anfrage fehlschlägt. AbortError
DOMException
-
Gibt an, dass der Abruf abgebrochen wurde.
NotAllowedError
DOMException
-
Gibt an, dass keine Benutzererlaubnis erteilt wurde, um Hintergrundabrufe auszuführen.
QuotaExceededError
-
Wird ausgelöst, wenn das Speichern von Anfragen aufgrund Überschreitung des Browser-Speicherquotas nicht möglich war.
Beispiele
Das folgende Beispiel zeigt, wie fetch()
verwendet wird, um einen Hintergrundabrufvorgang zu starten. Mit einem aktiven
Service Worker verwenden Sie die
ServiceWorkerRegistration.backgroundFetch
Eigenschaft, um auf das
BackgroundFetchManager
Objekt zuzugreifen und rufen Sie dessen fetch()
Methode auf.
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
Loading…