JSP刷新页面的几种方法

时间:2022-09-11 23:20:33

Javascript刷新页面的几种方法   :   
1.   history.go(0)   
2.   location.reload()   
3.   location=location   
4.   location.assign(location)   
5.   document.execCommand( 'Refresh ')   
6.   window.navigate(location)   
7.   location.replace(location)   
8.document.URL=location.href   
------------------------------------------------------------------------------------------------------
区别window.location.Reload()和window.location.href=window.location.href; 
<a onclick="javascript:window.location.href=window.location.href;">

<a onclick="javascript:window.location.reload();">

测试效果一样。表单没有提交。

<input type="submit" onclick="javascript:window.location.reload();" value="单击" id="btnVCode" />
<input type="submit" onclick="javascript:window.location.href=window.location.href;" value="单击" id="btnVCode" />

都提交数据

window.location.Reload()应该是刷新.(如果有数据提交的话,会提示是否提交的(是和否选项)) 
window.location.href=window.location.href; 是定向url提交数据

最好不要用location.reload(),而用location=location比较好,还有在模式窗口(showModalDialog和showModelessDialog)前者不能用。

reload参数有true和false,比较有意思?

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

2个方法都是刷新父窗口,但是其中还是有奥妙的哦。
window.opener.location.reload();这个方法在强迫父窗口的时候,在有些IE浏览器(比如安全设置高)的情况下,会弹出一个确认对话框,提示是不是要重新再刷新一次页面,这可是比较郁闷的事情哦,我后来把这个方法替换成了window.opener.location.href=window.opener.location.href;
就不会出现那样的问题了。 
 
---------------------------------------------------------------------------
 
在<body   onunload="window.opener.location.reload();">   ,这样在子窗口销毁的时候自动刷新主窗口
 
--------------------------------------------------------------------------
“前进” 与“后退”
 
                  function   back()     
                  {     
                          window.history.back()     
                  }     
                  function   forward()     
                  {     
                          window.history.forward()     
                  }     
                  function   back2()     
                  {     
                          window.history.go(-2)     
                  }     
                  function   forward2()     
                  {     
                          window.history.go(2)     
                  }     
-----------------------------------------------------------
js刷新窗口:window.location.replace(window.location.href)


window.location.reload();

window.history.go(0);

window.location.assign(window.location.href)


window.location.href和window.location.replace的区别:

1.html -> 2.html -> 3.html

系统从1.html到2.html后,2中有两个按钮,btn1是window.location.href=3.html, btn2是window.location.replace(3.html), 当点击btn1后在3中用window.history.go(-1);window.history.back();返回的是1.html,

而点击btn2进入3时,用window.history.go(-1);wondow.history.back();返回的是2.html

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

window.location.href和window.location.replace的亲身体验与区别

当用window.location.href是使用window.history.go(-1)或window.history.back()是管用的

当用window.location.replace('url')是使用window.history.go(-1)或window.history.back()是不管用的

window.location.replace("3.jsp");是不向服务器发送请求的跳转

window.history.go(-1);window.history.back();方法是根据服务器记录的请求决定该跳到哪个页面的

window.location.href("3.jsp");是向服务器发送请求的跳转,window.history.go(-1);wondow.history.back();方法是根据服务器记录的请求决定该跳到哪个页面的


有3个jsp页面(1.jsp, 2.jsp, 3.jsp),进系统默认的是1.jsp ,当我进入2.jsp的时候, 2.jsp里面用window.location.replace("3.jsp");与用window.location.href("3.jsp");从用户界面来看是没有什么区别的,但是当3.jsp页面有一个“返回”按钮,调用window.history.go(-1);wondow.history.back();方法的时候,一点这个返回按钮就要返回2.jsp页面的话,区别就出来了,当用window.location.replace("3.jsp");连到3.jsp页面的话,3.jsp页面中的调用window.history.go(-1);wondow.history.back();方法是不好用的,会返回到1.jsp 。当用window.location.href("3.jsp");连到3.jsp页面的话,3.jsp页面中的调用window.history.go(-1);wondow.history.back();方法是好用的,会返回2.jsp。因为window.location.replace("3.jsp");是不向服务器发送请求的跳转,而window.history.go(-1);wondow.history.back();方法是根据服务器记录的请求决定该跳到哪个页面的,所以会跳到系统默认页面1.jsp 。window.location.href("3.jsp");是向服务器发送请求的跳转,window.history.go(-1);wondow.history.back();方法是根据服务器记录的请求决定该跳到哪个页面的,所以就可以返回到2.jsp。

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

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

在C# Web程序中,如为页面按钮写返回上一页代码

this.RegisterClientScriptBlock("E", "<script language=javascript>history.go(-2);</script>");

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

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

此处也要写为“-2”。跟直接写脚本的有所不同。
 
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();
        }
    }
}


原文地址: http://blog.csdn.net/weifeib/article/details/51802281