Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
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 eineexperimentelle Technologie
Überprüfen Sie dieBrowser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.
Hinweis: Diese Funktion ist inWeb Workers verfügbar.
Diefetch() Methode derBackgroundFetchManager Schnittstelle initiiert einen Hintergrundabrufvorgang, gegeben durch eine oder mehrere URLs oderRequest Objekte.
In diesem Artikel
Syntax
fetch(id, requests)fetch(id, requests, options)Parameter
idEine vom Entwickler definierte Kennung, die an die anderen Methoden übergeben werden kann, um die
BackgroundFetchRegistrationfür diesen Vorgang abzurufen.requestsEin
RequestInfoObjekt oder ein Array vonRequestInfoObjekten.Jedes
RequestInfoObjekt ist einRequestObjekt oder ein String, der alsinputArgument an denRequest()Konstruktor übergeben wird.optionsOptionalEin Objekt, das verwendet wird, um den Fortschrittsdialog des Abrufs anzupassen, den der Browser dem Benutzer anzeigt. Es hat die folgenden Eigenschaften:
titleOptionalEin String, der als Titel für den Fortschrittsdialog verwendet wird.
iconsOptionalEin 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:
srcEin String, der eine URL zur Symboldatei darstellt.
sizesOptionalEin String, der die Größen des Bildes darstellt, ausgedrückt mit der gleichen Syntax wie das
sizesAttribut des<link>Elements.typeOptionalEin String, der denMIME Typ des Symbols darstellt.
labelOptionalEin String, der den zugänglichen Namen des Symbols darstellt.
downloadTotalOptionalEine 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
EinPromise, das mit einemBackgroundFetchRegistration Objekt aufgelöst wird.
Ausnahmen
TypeErrorWird ausgelöst, wenn keine Anfrage bereitgestellt wird, wenn der Modus einer Anfrage
no-corsist, wenn kein Service Worker vorhanden ist, wenn eine Anfrage bereits mit der angefordertenidexistiert oder die Anfrage fehlschlägt.AbortErrorDOMExceptionGibt an, dass der Abruf abgebrochen wurde.
NotAllowedErrorDOMExceptionGibt an, dass keine Benutzererlaubnis erteilt wurde, um Hintergrundabrufe auszuführen.
QuotaExceededErrorWird ausgelöst, wenn das Speichern von Anfragen aufgrund Überschreitung des Browser-Speicherquotas nicht möglich war.
Beispiele
Das folgende Beispiel zeigt, wiefetch() verwendet wird, um einen Hintergrundabrufvorgang zu starten. Mit einem aktivenService Worker verwenden Sie dieServiceWorkerRegistration.backgroundFetch Eigenschaft, um auf dasBackgroundFetchManager Objekt zuzugreifen und rufen Sie dessenfetch()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> |