[转]history.back(-1)和history.go(-1)的区别
目录:
1.这个方法的用途
2.两个方法的区别
3.总结
概述:
H5页面做多了,自然就会做到页面上的返回功能,返回功能大致有两种:history.back(-1)和history.go(-1),今天我们来说说两种方法的区别。
这个方法的用途
返回一个页面方法有很多,就好比给返回按钮绑定一个URL,但是如果一个页面可以从很多页面到达,那么这个页面返回的页面就不是固定的,那么绑定固定的URL显然不妥。
两个方法的区别
既然history.back(-1)和history.go(-1)都是返回之前页面,但是方法不同,所以肯定是有区别的:
history.back(-1)//直接返回当前页的上一页,数据全部清空,是个新页面 history.go(-1)//也是返回当前页的上一页,不过表单里的数据全部还在
总结
返回、前进页面的方法下面总结一下:
经测试:
pc端:IE5--IE11,360极速浏览器,谷歌,火狐,UC浏览器
history.go(-1)、history.back()、window.location.href=document.referrer
都会在返回页刷新重新执行JS,,,苹果浏览器(5.1.7)只有window.location.href 会在返回页重新执行JS。。
手机端:安卓苹果 微信QQ支付宝钉钉UC浏览器部分history.go(-1)、history.back()会在返回页刷新重新执行JS,部分不会。。window.location.href 会在返回页重新执行JS。。
无论pc还是手机端history.go(-1)、history.back()效果相同,只是go(-1)会重载一下页面,back不会重载页面。
window.location.reload()//刷新 window.history.go(1)//前进 window.history.go(-1)//后退 window.history.forward()//前进 window.history.back() 后退+刷新window.location.href=document.referrer
//后退+刷新