Compensation URL de hachage

Visite stackoverflow.com/#_=_ et window.location.hash évalue à #_=_. Des beaux.

Maintenant exécuter window.location.hash = '' pour effacer la table de hachage, et l'URL devient stackoverflow.com/#. (Avis de fuite #.)

Pourquoi le # dans window.location.hash de façon incohérente inclus ou exclus? Comment peut - # être supprimé à partir de l'URL sans avoir à recharger la page?

(MDN dit

[le hachage est] la partie de l'URL qui suit le symbole#, y compris le symbole#.

mais ce n'est pas vrai dans le cas d'un hachage vide.)

  • Avec quel navigateur avez-vous observé ce comportement?
  • la visite de stackoverflow.com/# également les résultats en window.location.hash === '' c'est donc un comportement cohérent.
  • Vous dites que la manipulation de hash avec JavaScript conduit à # dans l'URL et vide hash de la propriété. Maintenant en visitant la page avec seulement # dans l'URL conduit également à vide hash de la propriété. hash propriété est rempli uniquement quand il y a d'autres personnages après # dans l'URL et c'est un comportement cohérent dans tous les navigateurs.
  • Il me semble que IE ne comprend pas le '#' dans le cadre de l'emplacement.hachage -- juste pour signaler quelques autres incohérence...
  • ie semble ajouter fichier "/// " au début lors de l'ajout d'un # à la fin de l'url
  • Double Possible de Comment faire pour supprimer le hachage de la fenêtre.adresse (URL) avec du JavaScript sans rafraichissement de la page?

InformationsquelleAutor Randomblue | 2013-03-10