-
push
— 向history栈里面添加一条新记录,这个时候用户点击浏览器的回退按钮可以回到之前的路径; -
go
— 这个方法的参数是一个整数,意思是在 history 记录中向前或者后退多少步,类似 window.history.go(n),n可为正数可为负数; -
goBack
— 返回上一页,相当于window.history.go(-1); -
replace
— 替换掉当前的 history 记录,跳转到指定的url,这个方法不会向history里面添加新的记录,点击返回,会跳转到上上一个页面。上一个记录是不存在的;
【注意】跳转时一定要注意区分使用场景。(本人已经跳过这个坑了,需要重点牢记)
在history中没有的记录,用push跳转,如果有即将跳转的页面这条记录了,就需要用go来返回到指定页面,不能再push,否则可能会导致返回事件不能按照我们预期的进行。
如果是要替换当前页面,那就用replace。
【扩展1】
window.location.reload();
// 刷新
window.history.go(1);
// 前进
window.history.go(-1);
// 后退
window.history.forward();
// 前进
window.history.back();
// 后退 + 刷新
【扩展2】
history.back 与 history.go的区别:
history.back(-1);
// 直接返回当前页的上一页,数据全部消息,是个新页面
history.go(-1);
// 也是返回当前页的上一页,不过表单里的数据全部还在
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END