web-dev-qa-db-fra.com

Quelle est la différence entre "window.location.href" et "window.location.hash"?

J'ai appris "window.location.hash" nouveau et essayé dans mon code jquery au lieu de "window.location.href" et les deux ont donné les mêmes résultats.

Le code est ici:

window.location.href = ($(e.currentTarget).attr("href"));
window.location.hash = ($(e.currentTarget).attr("href"));

Quelle est la différence entre eux?

40
kalaba2003

Pour une URL comme http://[www.example.com]:80/search?q=devmo#test

hachage retourne la partie de l'URL qui suit le symbole #, y compris le symbole #. Vous pouvez écouter l'événement hashchange pour être averti des modifications apportées au hachage dans les navigateurs compatibles.

Returns: #test

href renvoie l'URL complète.

Returns: http://[www.example.com]:80/search?q=devmo#test

En savoir plus

59

Testez-le par exemple http://stackoverflow.com/#Page

href = http://stackoverflow.com/#Page
hash = #Page
9
Henrik Karlsson

href est l'url

le hachage n'est que l'ancre après l'url

http: //www.xxxxxxx.com#anchor

http: //www.xxxxxxx.com#anchor est le href

"#anchor" est le hachage

3
Jerome Cance

hash et href sont tous deux des propriétés de window.location objet. hash est la partie de l'URL du # on (ou une chaîne vide s'il n'y a pas #), tandis que href est une représentation sous forme de chaîne de l'URL entière.

2
lonesomeday

La propriété de hachage renvoie la partie d'ancrage d'une URL, y compris le signe de hachage (#).

1
Chad Ferguson

Voici un exemple simple de différence entre window.location.href et window.location.hash

Pour l'URL http://www.manm.com/member/#!create:

  • href: http://www.manam.com/member/#!create
  • hachage: #!create