1、window.location
1.1 window.location.href
location.href 属性返回当前页面的 URL。其中.href属性可以省略,不同之处在于 window.location 返回的是对象,如果没有.href,它的默认参数就是href。
// 例1 两种方法都能实现从当前页跳到百度首页
window.location = "http://www.baidu.com"
window.location.href = "http://www.baidu.com"
在框架中,如果D是C的iframe,C是B的iframe,B是A的iframe,如果D中js中有如下代码:
top.location.href=”url” // 在顶层页面打开url(跳出框架) 图中A
self.location.href=”url” // 仅在本页面打开url地址 图中D
parent.location.href=”url” // 在父窗口打开Url地址 图中C
this.location.href=”url” // 用法和self的用法一致
1.2 window.location.assign
该方法加载URL 指定的新的HTML文档。就相当于一个链接,跳转到指定的url,当前页面会转为新页面内容,可以点击后退返回上一个页面。
window.location.assign("https://www.baidu.com")
1.3 window.location.replace
如果用该方法实现跳转页面, 它和 window.location.href ,window.location.assign的区别在于:window.location.replace跳转后不会保存 跳出页面 的信息,所以不能通过浏览器的"前进"和"后退"来访问已经 被替换的URL,这个特点对于做一些过渡页面非常有用。
window.location.replace("https://www.baidu.com")
2、history.back / history.go
两种方法都可以实现返回历史页,相当于点了页面左上角的返回按钮。back和go里面都可以放数值。例如:里面放上 -1 意思就是返回上一级,里面放上 -2 就是返回上上级,以此类推。 而且里面还可以放上指定的路由路径,比如 window.history.go('../routes/admin/'); 这样可以跳转到指定的路由模块。
window.history.back();
window.history.go(-1);
3、页面刷新方法
1 history.go(0)
2 location.reload()
3 location.href=url
4 location.assign(url)
5 location.replace(url)