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

简单说说:有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();方法的时候,

一点这个返回按钮区别就出来了,

当用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。

原文:https://blog.csdn.net/weixin_40944162/article/details/81257405

猜你喜欢

转载自www.cnblogs.com/7qin/p/10660686.html