Bonjour,
D'habitude je développe en PHP/MySQL, mais j'utilise de temps en temps JavaScript et Jquery.
Pour mon projet, j'ai fait un site qui fonctionne avec les changements de hash pour la navigation, et chaque changement de hash rafraichit le contenu principal de la page.
Mais je rencontre un problème avec la gestion des changements de hash avec Jquery.
J'ai un bout de code que j'appelle à la fin de ma page pour surveiller les changements de hash:
Ca marche nickel, sauf dans un cas précis lorsque l'utilisateur arrive sur le site pour la première fois, lorsqu'il clique sur n'importe quel lien du site, le hash change bien mais le navigateur recharge la page et donc le changement de hash n'est pas vu par Jquery et il ne m'affiche pas la bonne page, et ensuite si on clique sur un autre lien ça marche correctement. Et si on fait un refresh de la page, là ça marche aussi. C'est vraiment que pour le tout premier clic de l'utilisateur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 jQuery(window).on('hashchange',function(){ var hash= location.hash.substring; le code à executer en fonction du hash ..... });
Je pense que ça merde à cause du fait que la première URL ne contient pas de hash et donc le navigateur fait une redirection que je ne souhaite pas, comment on peut éviter ce comportement du navigateur ?
Merci d'avance !
Partager