Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

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.

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;
        });
      }),
    );
  }

  // …
});

Spécifications

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

Compatibilité des navigateurs

Voir aussi