window.location.reload()和window.location.href 区别

   【window.location.reload()和window.location.href 区别】

    首先我们大家都知道window.location.reload()与window.location.href=window.location.href效果相同。

    两者都能刷新窗口,不同的是,前者刷新页面时若有数据提交会提示是否提交数据,就是我们经常看到的那个讨厌的提示框;后者则不会,是定向url提交数据。所以在刷新页面时最好是用后者

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

总结:

(1)window.location.href=“url”:改变url地址;

(2)window.location.replace(“url”):将地址替换成新url,该方法通过指定URL替换当前缓存在历史里(客户端)的项目,因此当使用replace方法之后,你不能通过“前进”和“后 退”来访问已经被替换的URL,这个特点对于做一些过渡页面非常有用!

(3)window.location.reload():强制刷新页面,从服务器重新请求!所以使用window.location.reload()刷新页面时若有数据提交会提示是否提交数据,就是我们经常看到的那个讨厌的提示框;window.location.href 则不会,是定向url提交数据。所以在刷新页面时最好是用后者

猜你喜欢

转载自570109268.iteye.com/blog/2406195