Cette traduction est incomplète. Aidez à traduire cet article depuis l'anglais.

L'événement hashchange est déclenché lorsque l'identificateur de fragment de l'URL a changé (la partie de l'URL qui suit le symbole #, y compris le symbole # lui-même).

Bulles Oui
Annulable Non
Objets cibles Window
Interface HashChangeEvent
Action par défaut Aucune

Propriétés

Property Type Description
target Lecture seule EventTarget The browsing context (window).
type Lecture seule DOMString The type of event.
bubbles Lecture seule Boolean Whether the event normally bubbles or not.
cancelable Lecture seule Boolean Whether the event is cancellable or not.
oldURL Lecture seule String The previous URL from which the window was navigated.
newURL Lecture seule String  

Il existe plusieurs scripts de secours listés sur cette page. Fondamentalement, ces scripts vérifient le location.hash à intervalles réguliers. Voici une version qui n'autorise qu'un seul gestionnaire à être lié à la propriété window.onhashchange:

;(function(window) {

  // Sortir si le navigateur implémente cet événement
  if ("onhashchange" in window) { return; }

  var location = window.location,
    oldURL = location.href,
    oldHash = location.hash;

  // Vérifie la hash de la barre d'adresse toutes les 100ms
  setInterval(function() {
    var newURL = location.href,
      newHash = location.hash;

    // Si le hash a été changé et qu'un gestionnaire a été lié...
    if (newHash != oldHash && typeof window.onhashchange === "function") {
      // exécute le gestionnaire
      window.onhashchange({
        type: "hashchange",
        oldURL: oldURL,
        newURL: newURL
      });

      oldURL = newURL;
      oldHash = newHash;
    }
  }, 100);

})(window);

Spécifications

Spécification Status Commentaire
HTML Living Standard
La définition de 'hashchange' dans cette spécification.
Standard évolutif Définition initiale

Compatibilité des navigateurs

Nous convertissons les données de compatibilité dans un format JSON. Ce tableau de compatibilité utilise encore l'ancien format car nous n'avons pas encore converti les données qu'il contient. Vous pouvez nous aider en contribuant !

Fonctionnalité Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari
Support basique 5.0 (Oui) 3.6 (1.9.2)[1] 8.0[2] 10.6 5.0
Fonctionnalité Android Edge Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Support basique 2.2 (Oui) 1.0 (1.9.2) 9.0 11.0 5.0

[1] Support pour les attributs oldURL/newURL ajouté à  Firefox 6.

[2] Les attributs oldURL/newURL ne sont pas supportés.

Voir également

Étiquettes et contributeurs liés au document

Étiquettes : 
 Contributeurs à cette page : fscholz, SaintCyr
 Dernière mise à jour par : fscholz,