关于页面跳转和刷新

3,907 阅读1分钟

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)