window.location 对象属性实例详解

发布时间:2020-08-24编辑:脚本学堂
有关window.location对象属性的用法,使用 js 捕获页面 get 方式请求的参数,完全可以使用 window.location.search 获得,然后通过 split 方法结合循环遍历自由组织数据格式。

window.location 对象所包含的属性
hash//从井号 (#) 开始的 url(锚)
host//主机名和当前 url 的端口号
hostname//当前 url 的主机名
href//完整的 url
pathname//当前 url 的路径部分
port//当前 url 的端口号
protocol//当前 url 的协议
search//从问号 (?) 开始的 url
要使用 js 定位锚点,完全可以使用 window.hash 配合元素 id 完成。
要使用 js 捕获页面 get 方式请求的参数,完全可以使用 window.location.search 获得,然后通过 split 方法结合循环遍历自由组织数据格式。

javascript window.location对象

url:http://b.a.com:88/index.php?name=kang&when=2011#first

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

location的8个属性都是可读写的,但是只有href与hash的写才有意义。
例如,改变location.href会重新定位到一个URL,而修改location.hash会跳到当前页面中的anchor(<a id="name">或者<div id="id">等)名字的标记(如果有),而且页面不会被重新加载。

注意
URL:http://b.a.com:88/index.php?name=kang&how=#when=2011#first

search: "?name=kang&how=" 第一个"?"之后
hash: "#when=2011#first" 第一个"#"之后的内容

方法
location.assign( url )
location.assign('http://www.baidu.com'); 等同于 window.location = 'http://www.baidu.com'
此方式将新地址放到浏览器历史栈中,转到新页面后“后退按钮”仍可以回到该页面。
location.replace( url )
与assign方法一样,但会从浏览器历史栈中删除本页面,跳转到新页面后“后退按钮”不能回到该页面。
目前IE、Chrome只是简单的跳转,只有Firefox会删除本页面的历史记录。

location.reload( force )
重新载入当前页面。force为true时从服务器端重载;false则从浏览器缓存中重载,默认值false。