明凯博客

关注网站技术,一个特立独行的程序员

JS实现前进后退刷新的各种方法

这里介绍了JS前进、后台、刷新的各种方法。也解释了很多前进后退函数出问题的原因。
下面是用按钮做前进后退的JS:

1
2
3
4
5
6
<input type=button value=刷新 onclick="window.location.reload()"/> 
<input type=button value=前进 onclick="window.history.go(1)"/> 
<input type=button value=后退 onclick="window.history.go(-1)"/> 
<input type=button value=前进 onclick="window.history.forward()"/> 
<input type=button value=后退 onclick="window.history.back()"/> 
<input type=button value=后退刷新 onclick="window.history.go(-1);window.location.reload()"/>

其中,history.go(-2),要写为-2,因在按钮事件触发前,已刷新一次页面,所以应是-2。

1
Response.Write("<script language=javascript>history.go(-2);</script>");

此处也要写为“-2”。跟直接写脚本的有所不同。

history.back()是会上一页
history.go(i)去指定的某页

如果是history.go(0)那就是刷新页面,这两个属于JS代码,相当于IE的前进、后退功能。
具体的用处就要看什么时候需要这个就用上。比如用户注册时的验证是后台验证,不符合要求的时候就可以用这个,可以最大限度保证用户少重复输入数据。
例如:载入框架页面:

1
2
3
4
5
6
7
8
9
10
11
12
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(); 
}}}

Javascript刷新页面的几种方法:

1
2
3
4
5
6
7
8
history.go(0) 
location.reload() 
location=location 
location.assign(location) 
document.execCommand('Refresh') 
window.navigate(location) 
location.replace(location) 
document.URL=location.href

上面的方法都是我经过验证的,没有任何问题的,可以直接使用,特别要注意的是后退的时候history.go(-2)这里的数字一定要正确。

, , , , , , ,

相关文章

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注