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?

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

Hash renvoie la partie de l'URL qui suit le symbole #, y compris le symbole #. Vous pouvez écouter l'événement hashchange pour vous informer des modifications apportées au hash dans les navigateurs de support.

 Returns: #test 

Href renvoie l'URL entière.

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

Lire la suite

Une différence importante est que window.location.hash est urldecoded, tandis que l'identificateur de fragment dans window.location.href n'est pas identifié. En d'autres termes:

 window.location.hash.split('#')[1] != window.location.href.split('#')[1] 

Si l'URL est http://example.com/page#3%3D3 puis:

 window.location.hash.split('#')[1] == '3=3' window.location.href.split('#')[1] == '3%3D3' 

En d'autres termes:

 window.location.hash.split('#')[1] == decodeURIComponent(window.location.href.split('#')[1]) 

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

 href = http://stackoverflow.com/#Page 
 hash = #Page 

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

Href est l'url

Hash n'est que l'ancre après l'url

Http: //www.xxxxxxx.com#anchor

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

"#animor" est le hash

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

Voici l'exemple simple de la 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
  • Hash: #!create