您的位置:首页 > Web前端 > JavaScript

JavaScript window.location对象

2016-06-01 11:16 627 查看
经常使用window.location,它的结构总是记不住,简单梳理下,方便日后需要进行查询。



示例

URL:http://170.18.10.158:8090/index.jsp?name=yfli&when=2016#first




属性含义
protocol:协议"http:"
hostname:服务器的名字"170.18.10.158"
port:端口"8090"
pathname:URL中主机名后的部分"/index.jsp"
search:"?"后的部分,又称为查询字符串"?name=yfli&when=2016"
hash:返回"#"之后的内容"#first"
host:等于hostname + port"170.18.10.158:8090"
href:当前页面的完整URL"http://170.18.10.158:8090/index.jsp?name=yfli&when=2016#first"
window.location和document.location互相等价的,可以交换使用

location的8个属性都是可读写的,但是只有href与hash的写才有意义。

例如改变location.href会重新定位到一个URL,而修改location.hash会跳到当前页面中的anchor(<a id="name">或者<div id="id">等)名字的标记(如果有),而且页面不会被重新加载


注意

URL:http://170.18.10.158:8090/index.jsp?name=yfli&when=2016#first
search:"?name=yfli&how="第一个"?"之后
hash:"#when=2011#first"第一个"#"之后的内容


方法

location.assign( url )location.assign('http://www.baidu.com'); 等同于 window.location = 'http:/
c022
/www.baidu.com'

这种方式会讲新地址放到浏览器历史栈中,意味着转到新页面后“后退按钮”仍可以回到该页面。location.replace( url )与assign方法一样,但会从浏览器历史栈中删除本页面,也就是说跳转到新页面后“后退按钮”不能回到该页面。目前IE、Chrome只是简单的跳转,只有Firefox会删除本页面的历史记录。location.reload( force )重新载入当前页面。force为true时从服务器端重载;false则从浏览器缓存中重载,默认值false。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: