window.location和window.location.href的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了window.location和window.location.href的区别相关的知识,希望对你有一定的参考价值。

参考技术A window.location 用来获取网页的URL,它是一个对象,包含属性有:

那么区别就很明显了, window.location 是一个对象, window.location.href 是 window.location 的一个属性

看个例子把:
随意打开一个网站,分别输出其 window.location 和 window.location.href :

“window.location.href”和“window.location.hash”有啥区别?

【中文标题】“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】:

hashhref 都是 window.location 对象的属性。 hash 是从# 开始的URL 部分(如果没有#,则为空字符串),而href 是整个URL 的字符串表示形式。

【讨论】:

很确定它包含# 字符。【参考方案5】:

这是window.location.hrefwindow.location.hash之间区别的简单示例

对于网址http://www.manm.com/member/#!create

href:http://www.manam.com/member/#!create 哈希:#!create

【讨论】:

【参考方案6】:

hash 属性返回 URL 的锚点部分,包括井号 (#)。

【讨论】:

以上是关于window.location和window.location.href的区别的主要内容,如果未能解决你的问题,请参考以下文章

关闭jQUERY中的弹出窗口后如何刷新父页面? [复制]

window.location和window.location.href的区别

window.location.href=window.location.href 和 window.location.reload() 的区别

window.location= 和 window.location.replace() 有啥区别?

“window.location.href”和“window.location.hash”有啥区别?

window.location.host 和 window.location.hostname 有啥区别 [重复]