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

NavigateEvent : constructeur NavigateEvent()

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.

Le constructeur NavigateEvent() crée une nouvelle instance d'objet NavigateEvent.

Syntaxe

js
new NavigateEvent(type, init)

Paramètres

type

Une chaîne de caractères représentant le type d'évènement.

init

Un objet qui, en plus des propriétés définies dans Event(), possède les propriétés suivantes :

canIntercept Facultatif

Un booléen définissant si la navigation peut être interceptée ou non (par exemple, vous ne pouvez pas intercepter une navigation inter-origines). Par défaut à false.

destination

Un objet NavigationDestination représentant l'emplacement vers lequel la navigation se fait.

downloadRequest Facultatif

Le nom du fichier demandé pour téléchargement, dans le cas d'une navigation de téléchargement (par exemple, un élément HTML <a> ou <area> avec un attribut download). Par défaut à null.

formData Facultatif

L'objet FormData représentant les données envoyées dans le cas d'un envoi de formulaire POST. Par défaut à null.

hashChange Facultatif

Un booléen définissant si la navigation est une navigation par fragment (c'est-à-dire vers un identifiant de fragment dans le même document). Par défaut à false.

hasUAVisualTransition Facultatif

Un booléen définissant si l'agent utilisateur a effectué une transition visuelle pour cette navigation avant de déclencher cet évènement. Par défaut à false.

info Facultatif

La valeur de données info transmise par l'opération de navigation initiatrice (par exemple, Navigation.back() ou Navigation.navigate()).

Le type de la navigation. Valeurs possibles — push, reload, replace et traverse. Par défaut à push.

signal

Un objet AbortSignal, qui est annulé si la navigation est annulée (par exemple, si l'utilisateur·ice appuie sur le bouton « Arrêter Â» du navigateur, ou si une autre navigation commence et annule ainsi celle en cours).

sourceElement Facultatif

Un objet Element représentant l'élément initiateur dans les cas où la navigation a été initiée par un élément, ou null si la navigation n'a pas été initiée par un élément. Par défaut à null.

userInitiated Facultatif

Un booléen définissant si la navigation a été initiée par l'utilisateur·ice (par exemple, en cliquant sur un lien, en envoyant un formulaire ou en appuyant sur les boutons « Précédent Â»/« Suivant Â» du navigateur). Par défaut à false.

Valeur de retour

Un nouvel objet NavigateEvent.

Exemples

Un·e développeur·euse n'utilise pas ce constructeur manuellement. Un nouvel objet NavigateEvent est construit lorsqu'un gestionnaire est invoqué à la suite du déclenchement de l'évènement navigate.

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 (shouldNotIntercept(event)) {
    return;
  }

  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 indicateur de
        // chargement ou une page de chargement
        rendreEspaceReserveArticle();

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

Spécifications

Spécification
HTML
# the-navigateevent-interface

Compatibilité des navigateurs

Voir aussi