Détecter le changement d'URL avec JavaScript
Concept et utilisation
La fonction URLChange() permet de détecter le changement d'URL d'une page web.
Constructeur
URLChange()Retourne un objet détecteur de changement d'URL.
- Syntaxe
 new URLChange();- Paramètre
 Aucun.
- Méthodes de l'instance
 detecteur.addListener()La méthode
addListener()de l'interfaceCookieChange()ajoute un écouteur au détecteur de changement d'URL- Syntaxe
 detecteur.addListener(ecouteur);- Paramètre
 ecouteur(Function)Le paramètre
ecouteurde la méthodeaddListener()définit un écouteur de changement d'URL qui sera ajouté au détecteur.
Il s'agit d'une fonction de rappel, dont les arguments sont :nouvelle_valeur: nouvelle valeur de l'URL.ancienne_valeur: ancienne valeur de l'URL.
detecteur.removeListener()La méthode
removeListener()de l'interfaceCookieChange()supprime un écouteur du détecteur de changement d'URL.- Syntaxe
 detecteur.removeListener(ecouteur);- Paramètre
 ecouteur(Function)Le paramètre
ecouteurde la méthoderemoveListener()définit un écouteur de changement d'URL qui sera supprimé du détecteur.
Exemple de détection du changement d'URL
var detecteur = new URLChange();
var ecouteur = function(nouvelle_valeur, ancienne_valeur) {
  console.log(nouvelle_valeur, ancienne_valeur);
  detecteur.removeListener(ecouteur); // supprime l'écouteur
}
detecteur.addListener(ecouteur); // ajoute l'écouteurCode source de la fonction
function URLChange(){var l=location,a=[],t=null,s=function(){clearTimeout(t);
t=setTimeout(function(){if(a.length>0){for(var i=0,j=a.length;i<j;i++){var r=a[i],
v=l.href;if(v!==r[1]){var o=(function(a){return a;})(r[1]);+'';r[1]=v;r[0](v,o);}}
s();}},150);};return {addListener:function(f){a.push([f,l.href]);s();},
removeListener:function(f){for(var i=0,j=a.length;i<j;i++){if(a[i][0]===f){
a.splice(i,1);i--;j--;}}}};}Dernière mise à jour le .
