博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
window.location.href,window.location.replace(),window.location.reload() 三者的区别
阅读量:4085 次
发布时间:2019-05-25

本文共 1035 字,大约阅读时间需要 3 分钟。

总是在资料上看到 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.(-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():强制刷新页面,从服务器重新请求!

转载地址:http://rshni.baihongyu.com/

你可能感兴趣的文章
snabbdom 源码阅读分析
查看>>
致敬 React: 为 Vue 引入容器组件和展示组件
查看>>
2019大厂面试必备
查看>>
webpack4.0打包优化策略
查看>>
前端一些细节
查看>>
剖析Vue原理&实现双向绑定MVVM
查看>>
vue3.0 尝鲜 -- 摒弃 Object.defineProperty,基于 Proxy 的观察者机制探索
查看>>
JavaScript异步流程控制全攻略
查看>>
前端面试重点难点透析--TCP协议的三次握手和四次分手
查看>>
vue 单页应用(spa)前端路由实现原理
查看>>
vue 原理简单实现
查看>>
Vue scrollBehavior 滚动行为
查看>>
合适的meta,你选对了吗?
查看>>
2018年前端面试总结
查看>>
初探 Vue3.0 中的一大亮点——Proxy !
查看>>
【复习资料】ES6/ES7/ES8/ES9资料整理(个人整理)
查看>>
【重温基础】instanceof运算符
查看>>
当初要是看了这篇,React高阶组件早会了。
查看>>
JavaScript权威面试指南
查看>>
初识react(四) react中异步解决方案之 redux-saga
查看>>