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

NavigationDestination

Baseline 2026
Nouvellement disponible

Depuis janvier 2026, cette fonctionnalité fonctionne sur les appareils et les versions de navigateur les plus récents. Elle peut ne pas fonctionner sur les appareils ou navigateurs plus anciens.

L'interface NavigationDestination de l'API Navigation représente la destination vers laquelle la navigation est en cours dans la navigation actuelle.

Elle est accessible avec la propriété NavigateEvent.destination.

Propriétés d'instance

id Lecture seule

Retourne la valeur id de la destination NavigationHistoryEntry si le NavigateEvent.navigationType est traverse, sinon une chaîne de caractères vide.

index Lecture seule

Retourne la valeur index de la destination NavigationHistoryEntry si le NavigateEvent.navigationType est traverse, sinon -1.

key Lecture seule

Retourne la valeur key de la destination NavigationHistoryEntry si le NavigateEvent.navigationType est traverse, sinon une chaîne de caractères vide.

sameDocument Lecture seule

Retourne true si la navigation se fait vers le même document que la valeur actuelle de Document, sinon false.

url Lecture seule

Retourne l'URL vers laquelle la navigation est en cours.

Méthodes d'instance

getState()

Retourne une copie de l'état disponible associé à la destination NavigationHistoryEntry, ou à l'opération de navigation (par exemple, navigate()) selon le cas.

Exemples

js
navigation.addEventListener("navigate", (event) => {
  // Quitte prématurément si cette navigation ne doit pas être
  // interceptée, par exemple, si la navigation est inter-origine, ou une
  // requête de téléchargement
  if (nePasIntercepter(event)) {
    return;
  }

  // Retourne un objet URL() construit à partir de la
  // valeur NavigationDestination.url
  const url = new URL(event.destination.url);

  if (url.pathname.startsWith("/articles/")) {
    event.intercept({
      async handler() {
        // L'URL a déjà changé, donc affiche un espace réservé pendant
        // la récupération du nouveau contenu, comme un spinner ou une
        // page de chargement
        rendreEspaceReserveArticle();

        // Récupère le nouveau contenu et l'affiche lorsqu'il est prêt
        const contenuArticle = await getArticleContent(url.pathname);
        rendrePageArticle(contenuArticle);
      },
    });
  }
});

Spécifications

Spécification
HTML
# the-navigationdestination-interface

Compatibilité des navigateurs

Voir aussi