Anforderung: isHistoryNavigation-Eigenschaft

Hinweis: Dieses Feature ist verfügbar in Web Workers.

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

Eine Verlauf-Navigation ist eine Navigation innerhalb des Browser-Verlaufs, die durch Aufrufen von History.go(), History.back(), History.forward(), Navigation.traverseTo(), Navigation.back(), Navigation.forward() oder direkt durch Klicken auf die Vorwärts- oder Rückwärts-Navigationstaste des Browsers erfolgt.

Wert

Ein boolescher Wert.

Beispiele

Dieses Beispiel wird in einem Service Worker ausgeführt. Es hört auf das fetch-Ereignis. Im Ereignishandler überprüft der Service Worker die isHistoryNavigation-Eigenschaft, um festzustellen, ob die Anforderung aufgrund einer Verlauf-Navigation erfolgt ist. Falls ja, versucht er mit einer zwischengespeicherten Antwort zu antworten. Falls der Cache keine Antwort für diese Anforderung enthält, holt der Service Worker eine Antwort aus dem Netzwerk, speichert eine Kopie davon im Cache und antwortet mit der Netzwerkantwort.

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

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

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

            return response;
          });
        }
      }),
    );
  }

  // ...
});

Spezifikationen

Specification
Fetch Standard
# ref-for-dom-request-ishistorynavigation①

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch