window.location.href 和self.location的区别
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了window.location.href 和self.location的区别相关的知识,希望对你有一定的参考价值。
一、指代不同
1、window.location.href:返回当前窗口在浏览器中就是完整的地址。
2、self.location:返回指定窗口在浏览器中就是完整的地址。
二、作用不同
1、window.location.href:URL 的端口部分。如果采用默认的80端口(update:即使添加了:80),那么返回值并不是默认的80而是空字符。
2、self.location:查询(参数)部分。除了给动态语言赋值以外,我们同样可以给静态页面,并使用javascript来获得相信应的参数值。
三、用法不同
1、window.location.href:除了设置 location 或 location.href 用完整的 URL 替换当前的 URL 之外,还可以修改部分 URL,只需要给 Location 对象的其他属性赋值即可。
2、self.location:表示的却是浏览器当前显示的文档的 URL(或位置)。但是 Location 对象所能做的远远不止这些,还能控制浏览器显示的文档的位置。
参考资料来源:百度百科-Location 对象
参考资料来源:百度百科-window.location
参考技术A 你从字面上就可以理解到 window 指的是当前窗口 而 self 指的是自己 在html 中 由于页面可以镶嵌页面 所以这2个就有了 区别 比如说 我有个页面A.HTML 里面嵌套了一个B.HTML 在A中使用 window.location 跳转 就把整个 页面跳转了 而在 A中镶嵌B页面的位置 使用了 self跳转 就只是把B界面跳转了 A页面其他地方没有变化 就拿 很简单的 百度搜索页面来比 你输入不同的搜索内容 变化的只是下面的内容 而搜索栏本身没有变化 就是self实现下面的跳转本回答被提问者和网友采纳“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】: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 和self.location的区别的主要内容,如果未能解决你的问题,请参考以下文章
window.location和window.location.href的区别
“window.location.href”和“window.location.hash”有啥区别?
window.location.href和window.open的几种用法和区别
window.location.Reload()和window.location.href 区别