“window.location.href”和“window.location.hash”有啥区别?
Posted
技术标签:
【中文标题】“window.location.href”和“window.location.hash”有啥区别?【英文标题】:What is the difference between "window.location.href" and "window.location.hash"?“window.location.href”和“window.location.hash”有什么区别? 【发布时间】:2012-05-28 03:20:53 【问题描述】:我学习了 "window.location.hash" 新的并尝试在我的 jquery 代码中而不是 "window.location.href" 并且它们都给出了相同的结果。
代码在这里:
window.location.href = ($(e.currentTarget).attr("href"));
window.location.hash = ($(e.currentTarget).attr("href"));
它们有什么区别?
【问题讨论】:
w3schools.com/jsref/obj_location.asp 这个属性的值在不同的浏览器中可能不同。获取哈希属性的一种安全方法是使用:var hash = (location.href.split("#")[1] || "");
lea.verou.me/2011/05/get-your-hash-the-bulletproof-wayvar hash = location.hash.substring(1);
【参考方案1】:
对于像http://[www.example.com]:80/search?q=devmo#test
这样的网址
hash 返回 URL 中 # 符号之后的部分,包括 # 符号。 您可以侦听 hashchange 事件以获取支持浏览器中哈希更改的通知。
Returns: #test
href 返回整个 URL。
Returns: http://[www.example.com]:80/search?q=devmo#test
Read More
【讨论】:
【参考方案2】:在 http://***.com/#Page
上进行测试
href = http://***.com/#Page
hash = #Page
【讨论】:
【参考方案3】:href 是网址
hash 只是 url 后面的锚
http://www.xxxxxxx.com#anchor
http://www.xxxxxxx.com#anchor是href
“#anchor”是哈希
【讨论】:
【参考方案4】:hash
和 href
都是 window.location
对象的属性。 hash
是从#
开始的URL 部分(如果没有#
,则为空字符串),而href
是整个URL 的字符串表示形式。
【讨论】:
很确定它包含#
字符。【参考方案5】:
这是window.location.href
和window.location.hash
之间区别的简单示例
对于网址http://www.manm.com/member/#!create
:
http://www.manam.com/member/#!create
哈希:#!create
【讨论】:
【参考方案6】:hash 属性返回 URL 的锚点部分,包括井号 (#)。
【讨论】:
以上是关于“window.location.href”和“window.location.hash”有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章
window.location.href=window.location.href 和 window.location.reload() 的区别
window.location和window.location.href的区别
“window.location.href”和“window.location.hash”有啥区别?