2011-03-21 5 views
3

hey les gars, question rapide, je ne pouvais pas trouver quelque chose d'utile sur le web.javascript: supprimer complètement top.location.hash?

si j'ai déjà un hachage dans ma barre d'adresse, par ex. domain.com # tout et je l'appelle ...

top.location.hash = "";

la #wathever se transforme en domain.com # sans rien. Est-il possible d'enlever complètement le hachage? Il n'y a donc plus de # à gauche. Parce que si j'appelle top.location.hash = ""; la page saute à son sommet, parce qu'un # est passé à l'URL. Je veux empêcher ça.

+0

sans recharger la page? Je dirais non – Guillaume86

Répondre

2
top.location = '' 

devrait le faire, mais il provoquera un rechargement de la page. Je ne pense pas qu'il existe un moyen de le supprimer par programme.

+0

ok, est-il possible alors de simplement le mettre "#" mais ne faites pas sauter la page en haut? Cela ne me dérangerait pas s'il y a un # dans l'URL. Je ne veux pas que mon site saute au sommet. – matt

+0

http://stackoverflow.com/questions/2295845/remove-hash-without-page-jump devrait répondre à votre question. – Johan

0
window.location = window.location.href.replace(/#.*/, ""); 
+0

Cela fera l'affaire mais je ne pense pas que OP veut que la page se recharge. –

0

Malheureusement, il n'existe aucun moyen de le faire de manière fiable sans provoquer l'actualisation de la page, auquel cas vous pouvez utiliser la propriété location.href.

3

il est possible avec history.pushState, .: par exemple

history.pushState({}, '', './'); 

Bien sûr, il est IE < 10 incompatibles, mais fonctionne pour moi :-)

Questions connexes