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

有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。

 

 

转自:http://hi.baidu.com/php021/item/579baad62c696b1a21e2508f

 

 

 

posted @ 2013-09-23 19:39  LetitiaChan  阅读(112)  评论(0)    收藏  举报