WindowEventHandlers.onhashchange

L'événement hashchange est déclenché lorsque le hash de l'url change (cf. location.hash).

Syntaxe

window.onhashchange = funcRef;

ou

<body onhashchange="funcRef();">

ou

window.addEventListener("hashchange", funcRef, false);

Paramètres

funcRef

Une référence à une fonction.

Exemples

if ("onhashchange" in window) {
    alert("Le navigateur prend en charge l'événement hashchange!");
}

function locationHashChanged() {
    if (location.hash === "#somecoolfeature") {
        somecoolfeature();
    }
}

window.onhashchange = locationHashChanged;

L'événement hashchange

Lorsque l'observateur d'événement déclenche l'événement hashchange il passe en paramêtres les arguments suivante :

Paramêtre Type Description
newURL DOMString Le nouvel URL où le navigateur est.
oldURL DOMString L'ancien URL où le navigateur se trouvait.

Une solution autour de event.newURL et event.oldURL

//insérez ce bout de code au début de votre code pour observer les changements de hash dans l'URL
if(!window.HashChangeEvent)(function(){
  var lastURL=document.URL;
  window.addEventListener("hashchange",function(event){
    Object.defineProperty(event,"oldURL",{enumerable:true,configurable:true,value:lastURL});
    Object.defineProperty(event,"newURL",{enumerable:true,configurable:true,value:document.URL});
    lastURL=document.URL;
  });
}());

Spécifications

Compatibilité des navigateurs

No compatibility data found for api.WindowEventHandlers.onhashchange.
Check for problems with this page or contribute missing data to mdn/browser-compat-data.

Voir aussi