window.location
可以简写为location
1.打开一个新的url
,并在浏览器的历史中生成一条记录:
location.assign('http://www.baidu.com/')
window.location = 'http://www.baidu.com/'
location.href = 'http://www.baidu.com/'
2.设置location
对象的属性可以更改当前页面的url
,并在浏览器的历史中生成一条记录:
【与HTML5新增的pushState不同的是,pushState也会改变url以及相应历史条目,但pushState不会向服务端发送请求,History.pushState()】
假设当前页面的初始URL
是http://www.baidu.com/article/
。
//将URL修改为http://www.baidu.com/article/#part1
location.hash = "#part1";
//将URL修改为http://www.baidu.com/article/?q=baidu
location.search = "?q=baidu";
//将URL修改为http://www.baidu.com/book/
location.pathname = "book";
//将URL修改为http://www.google.com/article/
location.hostname = "www.google.com";
//将URL修改为http://www.baidu.com:8080/article/
location.port = 8080;
3.location.replace
改变URL
,并禁止浏览器后退操作
setTimeout(function(){
location.replace('http://www.baidu.com/')
},3000)
页面重新定向到http://www.baidu.com/
后,浏览器的后退按钮会处于禁用状态。
4.location.reload()
重新加载当前页面。
如果调用location.reload()
时不传递参数,页面会以最有效的方式重新加载,也就是会从浏览器缓存中重新加载。
如果想强制从服务器重新加载,需要传递参数true
。
location.reload()
location.reload(true)