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

View in English Always switch to English

Request: Eigenschaft isHistoryNavigation

Eingeschränkt verfügbar

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

Hinweis: Diese Funktion ist in Web Workers verfügbar.

Die schreibgeschützte Eigenschaft isHistoryNavigation des Interfaces Request ist ein boolescher Wert, der angibt, ob die Anfrage eine Verlauf-Navigation ist.

Eine Verlauf-Navigation ist eine Navigation innerhalb des Browserverlaufs, die durch den Aufruf von History.go(), History.back(), History.forward(), Navigation.traverseTo(), Navigation.back(), Navigation.forward() oder direkt durch Klicken auf die Zurück- oder Vorwärts-Navigationsschaltfläche des Browsers erfolgt.

Wert

Ein boolescher Wert.

Beispiele

Dieses Beispiel wird in einem Service Worker ausgeführt. Es lauscht auf das Ereignis fetch. Im Event-Handler prüft der Service Worker die Eigenschaft isHistoryNavigation, um festzustellen, ob die Anfrage aufgrund einer Verlauf-Navigation erfolgte. Wenn dies der Fall ist, versucht er, mit einer Antwort aus dem Cache zu antworten. Falls der Cache keine Antwort für diese Anfrage enthält, ruft der Service Worker eine Antwort aus dem Netzwerk ab, speichert eine Kopie davon im Cache und antwortet mit der Netzwerkantwort.

js
self.addEventListener("fetch", (event) => {
  // …

  if (event.request.isHistoryNavigation) {
    event.respondWith(
      (async () => {
        let response = await caches.match(event.request);
        if (response !== undefined) {
          return response;
        }
        response = await fetch(event.request);
        const responseClone = response.clone();

        event.waitUntil(
          caches
            .open("v1")
            .then((cache) => cache.put(event.request, responseClone)),
        );

        return response;
      })(),
    );
  }

  // …
});

Spezifikationen

Spezifikation
Fetch
# ref-for-dom-request-ishistorynavigation①

Browser-Kompatibilität

Siehe auch