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

追格官方小助手/ 2023年02月15日/ WordPress/ 浏览 2164

window.location.replace 和 window.location.href 都能够实现页面条状的功能,但是两种方式还是有不小的差别。如果使用不当,可能会出现bug。


比如,从A页面,点击a标签,跳转到B页面;再从B页面,跳转到C页面。即:A->B->C。


假如,B到C使用 window.location.href 方法跳转,在C页面 history.back(),将回到B页面。


假如,B到C使用 window.location.replace 方法跳转,在C页面 history.back(), 将回到A页面。


为什么会有这个差别?


window.location.href 是在浏览记录中,添加了一个新的页面记录。页面记录为:A->B->C。


window.location.replace 则是在浏览记录中,直接把页面B,替换成页面C。页面记录为:A->C。


history.back() 方法是回退到浏览记录中的上一个页面。因此,才会出现上面说的那种差别。


这两种方法,该怎么选择呢?


一般情况下都应该使用 window.location.href 。window.location.href 满足不了需求的时候,才使用 window.location.replace。


发表评论

暂无评论,抢个沙发...

客服 工单