location.replace
今天学校的外聘老师告诉我们,公司开发过程中,因为新手的一些误操作造成了许多问题,
举个例子,在项目中 比如要购买一件商品 ,并且有一个这个商品的优惠券,而使用这张优惠券需要取请求 一个第三方的地址,
中间会有一次跳转,因为使用了location.href 后,按流程操作是没问题的,但是如果用户点击返回,则无法跳回原本的提交订单的页面,会一直进行重复请求,造成程序出错,
所以,必须替换成location.replace 来跳转,保证在进入第三方后 不会存入window.history 用户点击返回就可以绕过第三方地址,直接返回最初的页面。
还提到了,在iOS的设备上当用户点击返回时,为了提高性能网页呈现的是快照形式,并不会更新内容,所以,在返回网页时需要用到localtion.reload() 来刷新页面 ,重新请求页面内容
<body οnpageshοw="location.reload()">
用法区别
location.href="http://www.baidu.com"
location.replace("http://www.baidu.com")
location.href 会写入 浏览器的历史 window.history 对象中 location.replace则不会
实践
先点击href
发现 跳转后 浏览器的返回键时可以点击的
再点击replace
跳转后 浏览器的返回键是无法点击的,因为,replace其实是将当前的url替换了,而非跳转,并不会保存记录
关于这点区别,先记录一下
溜了溜了
相关阅读
0.0.0.0 与 127.0.0.1的区别 一、总结 一句话总结: 0.0.0.0 集合 不清楚 主机 目的 网络 收容所 127.0.0.1 本机地址 Localhost a
转载:https://www.sysgeek.cn/apt-vs-apt-get/来源:系统极客转载:https://blog.csdn.net/maizousidemao/article/details/79859669作
scheduleAtFixedRate与schedule区别
schedule和scheduleAtFixedRate的区别: 如果指定开始执行的时间在当前系统运行时间之前,scheduleAtFixedRate会把已经过去的时间也
1. WAP和GPRS有什么区别 wap是一种无线网络应用协议,而gprs是实现wap应用的一种网络传输技术方式。形象的说,wap如果是一封信,gprs就
存储区域: 全局变量(全局静态变量)是放在方法区中。 成员变量如果没有实例化那么变量是放在栈中;实例化了对象放在堆中,栈中放的是