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
:
http://www.manam.com/member/#!create
#!create