刷新页面,后退

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;

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


都提交数据

 

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;
就不会出现那样的问题了。
 
---------------------------------------------------------------------------
 
在   ,这样在子窗口销毁的时候自动刷新主窗口
 
--------------------------------------------------------------------------
“前进” 与“后退”
 
                  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。

 

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

 

 
   
   
   
 

 
后退+刷新

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

this.RegisterClientScriptBlock("E", "");

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

Response.Write("");

此处也要写为“-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();
        }
    }
}

 

你可能感兴趣的:(js)