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.
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①> |