Request : propriété isHistoryNavigation
Limited availability
Cette fonctionnalité n'est pas Compatible car elle ne fonctionne pas dans certains des navigateurs les plus utilisés.
Note : Cette fonctionnalité est disponible via les Web Workers.
La propriété en lecture seule isHistoryNavigation de l'interface Request est un booléen indiquant si la requête est une navigation dans l'historique.
Une navigation dans l'historique est une navigation au sein de l'historique du navigateur, effectuée en appelant History.go(), History.back(), History.forward(), Navigation.traverseTo(), Navigation.back(), Navigation.forward(), ou directement en cliquant sur le bouton de navigation arrière ou avant du navigateur.
Valeur
Une valeur booléenne.
Exemples
Cet exemple s'exécute dans un service worker. Il écoute l'évènement fetch. Dans le gestionnaire d'évènements, le service worker vérifie la propriété isHistoryNavigation pour savoir si la requête a eu lieu à cause d'une navigation dans l'historique. Si c'est le cas, il tente de répondre avec une réponse mise en cache. Si le cache ne contient pas de réponse pour cette requête, le service worker récupère une réponse sur le réseau, en met une copie en cache, et répond avec la réponse du réseau.
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;
});
}),
);
}
// …
});
Spécifications
| Specification |
|---|
| Fetch> # ref-for-dom-request-ishistorynavigation①> |