方式一:使用Html中标签来定义页面的元信息
<!-- 5秒钟后跳转到指定页面 -->
<meta http-equiv="refresh" content="5;url=http://www.baidu.com"/>
方式二:使用Javascript
利用window.location对象的href属性、assign()方法或replace()方法来实现。
1、跳到b页面
window.location.href='b.html'
2、返回上一个页面
window.history.back(-1)
3、跳转到b页面(只适用于ie)
window.navigate('b.html')
4、跳转到b页面
self.location.href='b.html'
从字面上就可以理解到 window 指的是当前窗口 而 self 指的是自己 在HTML 中 由于页面可以镶嵌页面 所以这2个就有了区别。比如说 我有个页面A.HTML 里面嵌套了一个B.HTML 在A中使用 window.location 跳转,就把整个页面跳转了。而在 A中镶嵌B页面的位置使用了self跳转 就只是把B界面跳转,A页面其他地方没有变化。
5、在顶层页面打开b页面
top.location.href='b.html'
如果一个页面嵌套了多个html,那么top.location.href的作用是在最外层页面打开b页面
6、在本页面重新打开一个新页面
window.open()
a href属性
在本页面重新打开一个新页面。所以左侧菜单会随之改变。
7、在本页面改变路由指向
this.$router.push()
只是改变了页面主题区域的路由指向,所以左侧菜单不改变。也就是说新路由的菜单和现在路由的菜单不是同一个的情况下,会导致当前页面和其所属的菜单不统一。
关于方法6、7的区别,在这里举一个例子:
比如页面A隶属于菜单menuA,页面B隶属于菜单menuB,需求是从页面A跳转到页面B。
采用方法6、7,结果是从页面A跳转到页面B,成功跳转,但是菜单仍然在菜单A,也就是说菜单A仍然处于选中状态,给人的错觉是现在仍在菜单A。
而采用方法8,结果同样是从页面A成功跳转到页面B,但是菜单也同步跳转到菜单B,也就是说菜单B处于选中状态。
所以具体采用哪种方法,根据实际需求决定。