Anforderung: isHistoryNavigation-Eigenschaft

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

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

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

Eine Verlauf-Navigation ist eine Navigation innerhalb des Browser-Verlaufs, die durch Aufrufe 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 boolean-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 Anfrage aufgrund einer Verlauf-Navigation erfolgte. Falls dies der Fall ist, versucht es, mit einer im Cache gespeicherten Antwort zu antworten. Falls der Cache keine Antwort für diese Anfrage enthält, holt der Service Worker eine Antwort vom 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;
        }
        return fetch(event.request).then((response) => {
          const responseClone = response.clone();

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

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

  // …
});

Spezifikationen

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

Browser-Kompatibilität

Siehe auch