Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

BackgroundFetchRegistration

Eingeschränkt verfügbar

Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.

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.

Das BackgroundFetchRegistration-Interface der Background Fetch API repräsentiert einen einzelnen Hintergrundabruf.

Eine Instanz von BackgroundFetchRegistration wird von den Methoden BackgroundFetchManager.fetch() oder BackgroundFetchManager.get() zurückgegeben und hat daher keinen Konstruktor.

EventTarget BackgroundFetchRegistration

Instanz-Eigenschaften

Erbt auch Eigenschaften von seinem übergeordneten Objekt, EventTarget.

BackgroundFetchRegistration.id Schreibgeschützt

Ein String, der die ID des Hintergrundabrufs enthält.

BackgroundFetchRegistration.uploadTotal Schreibgeschützt

Ein Number, das die Gesamtanzahl der zu hochladenden Bytes enthält.

BackgroundFetchRegistration.uploaded Schreibgeschützt

Ein Number, das die erfolgreich gesendete Größe in Bytes enthält, anfangs 0.

BackgroundFetchRegistration.downloadTotal Schreibgeschützt

Ein Number, das die Gesamtanzahl in Bytes dieses Downloads enthält. Dies ist der Wert, der beim Registrieren des Hintergrundabrufs festgelegt wurde, oder 0.

BackgroundFetchRegistration.downloaded Schreibgeschützt

Ein Number, das die Anzahl der heruntergeladenen Bytes enthält, anfangs 0.

BackgroundFetchRegistration.result Schreibgeschützt

Gibt anfangs einen leeren String zurück, bei Abschluss entweder den String "success" oder "failure".

BackgroundFetchRegistration.failureReason Schreibgeschützt

Ein String mit einem Wert, der einen Grund für einen Fehlschlag des Hintergrundabrufs angibt. Kann einen der folgenden Werte haben: "", "aborted", "bad-status", "fetch-error", "quota-exceeded", "download-total-exceeded".

BackgroundFetchRegistration.recordsAvailable Schreibgeschützt

Ein Boolean, der anzeigt, ob das recordsAvailable-Flag gesetzt ist.

Instanz-Methoden

Erbt auch Methoden von seinem übergeordneten Objekt, EventTarget.

BackgroundFetchRegistration.abort()

Bricht den Hintergrundabruf ab. Gibt ein Promise zurück, das mit true aufgelöst wird, wenn der Abruf erfolgreich abgebrochen wurde.

BackgroundFetchRegistration.match()

Gibt ein einzelnes BackgroundFetchRecord-Objekt zurück, das die erste Übereinstimmung für die Argumente darstellt.

BackgroundFetchRegistration.matchAll()

Gibt ein Promise zurück, das mit einem Array von BackgroundFetchRecord-Objekten aufgelöst wird, die Anfragen und Antworten enthalten.

Ereignisse

Erbt auch Ereignisse von seinem übergeordneten Objekt, EventTarget.

Diese Ereignisse können mit addEventListener() überwacht werden, oder indem ein Ereignis-Listener der oneventname-Eigenschaft dieser Schnittstelle zugewiesen wird.

progress

Wird ausgelöst, wenn sich einer der folgenden Eigenschaften ändert: uploaded, downloaded, result oder failureReason.

Beispiele

Der folgende Code erstellt ein BackGroundFetchRegistration als bgFetch mit einer id von "my-fetch".

js
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,
    },
  );
});

Das Protokollieren der id zur Konsole gibt "my-fetch" zurück.

js
console.log(bgFetch.id); // "my-fetch"

Die match()-Methode kann verwendet werden, um einen bestimmten BackgroundFetchRecord zu finden, der zu der Registrierung gehört.

js
bgFetch.match("/ep-5.mp3").then(async (record) => {
  if (!record) {
    console.log("No record found");
    return;
  }

  console.log(`Here's the request`, record.request);
  const response = await record.responseReady;
  console.log(`And here's the response`, response);
});

Spezifikationen

Spezifikation
Background Fetch
# background-fetch-registration

Browser-Kompatibilität