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()">
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();
}
}
}