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 

Spécifications Statut Commentaires
HTML Living Standard
La définition de 'GlobalEventHandlers' dans cette spécification.
Standard évolutif  
HTML 5.1
La définition de 'GlobalEventHandlers' dans cette spécification.
Recommendation  
HTML5
La définition de 'GlobalEventHandlers' dans cette spécification.
Recommendation  

Compatibilité des navigateurs

BCD tables only load in the browser

Voir aussi