history.go(-1)和history.back(-1)的区别

history.go(-1):直接返回当前页的上一页,并且原页面表单中的内容会丢失;

history.back(-1):也是直接返回当前页的上一页,不过原页面表单中的内容会保留;

history.back(0):刷新页面;

history.back(1):前进;

history.back(-1):后退


----------------------------

history.go(-1)浏览器兼容性问题:

<a href="#" οnclick="history.go(-1)">后退</a>

点击"后退"链接时,在IE,firefix下,history.go(-1)可以起到后退的作用,但在chrome下不起作用,要用history.go(-2)才生效。

后来研究了一下,发现在IE,firefix中解析为执行onclick事件,即执行history.go(-1)页面就跳走了不执行<a>标签的href,但在chrome下,不光执行了onclick事件,还执行了<a>标签的href。故要在onclick事件中加上return false语用来阻止<a>标签href的触发。即:

<a href="#" οnclick="history.go(-1); return fasle">后退</a>

或:

<a href="javascript:void(0)" οnclick="history.go(-1)">后退</a>


----------------------------

<input type=button value=刷新 οnclick="window.location.reload()">
<input type=button value=前进 οnclick="window.history.go(1)">
<input type=button value=后退 οnclick="window.history.go(-1)">
<input type=button value=前进 οnclick="window.history.forward()">
<input type=button value=后退 οnclick="window.history.back()">

后退+刷新<input type=button value=后退 οnclick="window.history.go(-1);window.location.reload()">
history.back()是会上一页
i=1
history.go(i)去指定的某页
如果是history.go(0)那就是刷新这两个属于JS代码,相当于IE的前进、后退功能。
具体的用处就要看什么时候需要这个就用上。比如用户注册时的验证是后台验证,不符合要求的时候就可以用这个,可以最大限度保证用户少重复输入数据。
例如:载入页面:
function onLoadPage(){
if(event.srcElement.tagName=="SPAN"){
oFrame=top.window.middle.frames[2];
oTxt=event.srcElement.innerText;
switch(oTxt){
case "前 进":
oFrame.history.go(1);
case "后 退":
oFrame.history.back();
case "刷 新":
oFrame.location.reload();
}
}
}


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值