window之location
location对象
- location为全局对象window的一个属性,且
window.location===document.location
,其中的属性都是可读写的,但是只有修改href和hash才有意义,href会重新定位到一个URL,hash会跳到当前页面中的anchor名字的标记(如果有),而且页面不会被重新加载
// 这行代码将会使当前页面重定向到http://www.baidu.com
window.location.href = 'http://www.baidu.com'
----------------------------------------------
// 如果使用hash并且配合input输入框,那么当页面刷新之后,鼠标将会自动聚焦到对应id的input输入框,
<input type="text" id="target">
<script>
window.location.hash = '#target'
</script>
复制代码
先看下其拥有的属性
![](https://img.haomeiwen.com/i20278258/d7cbca7887516db9.png)
这里补充一个origin属性,返回URL协议+服务器名称+端口号 (location.origin == location.protocol + '//' + location.host)
- 可以通过上述属性来获取URL中的指定部分,或者修改href于hash达到重新定位与跳转
- 添加hash改变监听器,来控制hash改变时执行的代码
window.addEventListener("hashchange", funcRef);
// 或者
window.onhashchange = funcRef;
复制代码
location方法
![](https://img.haomeiwen.com/i20278258/9c67cbb20cd24b99.png)
-
assign(url)
,通过调用window.location.assign
方法来打开指定url的新页面window.location.assign('http://www.baidu.com')
在当前页面打开百度,可回退 -
replace(url)
,在当前页面打开指定url,不可回退 -
reload([Boolean])
,调用此方法将会重新加载当前页面,如果参数为false或者不填,则会以最优的方式重新加载页面,可能从缓存中取资源,如果参数为true则会从服务器重新请求加载资源
网友评论