What is the difference between “[removed].href” an

2019-03-10 15:23发布

问题:

I learned "window.location.hash" new and tried in my jquery code instead of "window.location.href" and both of them gave same results.

Code is here :

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

What is the difference between them?

回答1:

For an URL like http://[www.example.com]:80/search?q=devmo#test

hash return the part of the URL that follows the # symbol, including the # symbol. You can listen for the hashchange event to get notified of changes to the hash in supporting browsers.

Returns: #test

href returns the entire URL.

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

Read More



回答2:

One important difference is that window.location.hash is urldecoded, while the fragment identifier in window.location.href is not urldecoded. In other words:

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

If the URL is http://example.com/page#3%3D3 then:

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

In other words:

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


回答3:

Test it on for example http://stackoverflow.com/#Page

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


回答4:

href is the url

hash is only the anchor after the url

http://www.xxxxxxx.com#anchor

http://www.xxxxxxx.com#anchor is the href

"#anchor" is the hash



回答5:

hash and href are both properties of the window.location object. hash is the part of the URL from the # on (or an empty string if there is no #), while href is a string representation of the whole URL.



回答6:

The hash property returns the anchor portion of a URL, including the hash sign (#).



回答7:

Here is the simple example for difference between window.location.href and window.location.hash

For the URL http://www.manm.com/member/#!create:

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