window.location.replace(‘url‘)页面跳转
window.location.href页面跳转没有直接返回原页面解决方案,使用window.location.replace('url')
·
前言
今天有个需求是 用户查看条款,条款时间与下单时间不匹配跳转404,然后返回还是显示条款,实际需求是直接返回详情页,当时用的是window.location.href = 'url'; 不可以,仔细查看代码,终于发现了原因。就是用户从上一个页面 a 跳转到目前看到的这一个页面 c,其实中间还有一个页面 b,只是用户看不到,因为从 a 跳转到 b 后,执行 b 的脚本,b 的脚本有下面这句:window.location.href = "c.html";
所以页面嗖的一下就跳到了 c 页面,但是浏览器记录却记录了三个页面:a, b, c.
这个时候点击返回按钮从 c 就是返回到 b,而 b 又会马上跳转到 c,所以就出现了点击返回按钮,页面刷新后,还是停留在原来页面的情况。
解决方案
window.location.replace(url)
将目前浏览器的地址替换掉,调用这个方法的网页,将不会被写入浏览记录。所以,网页 b 不会被写入浏览记录,从网页 a 经过 b 跳转到 c,再点击返回按钮将跳转到 a.
更多推荐
已为社区贡献1条内容
所有评论(0)