假设有A、B、C、D四个页面:A -> B -> C -> D,也就是从A页面跳转到B页面再到C页面最后到D页面,都是用history中的push方法进行跳转的。两个场景:第一个场景,最后跳到D页面,能不能清除之前所有历史记录,也就是history只有D页面?第二个场景,在还没跳转到D页面,B可以前进到C页面,C页面可以后退到B页面,一旦C页面前进到D页面,这时候点击浏览器的后退按钮,能不能直接退回到A页面,不后退到B或C页面?请问有没有对应的解决方案?
2 回答
拉莫斯之舞
TA贡献1820条经验 获得超10个赞
使用 history.replaceState() 方法,只保留 D 页面的记录
监听 popstate 事件
$(window).on('popstate', function () {
// 省略了逻辑判断
window.history.go(-3);
});
添加回答
举报
0/150
提交
取消