假设有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页面?
请问有没有对应的解决方案?
假设有A、B、C、D四个页面:A -> B -> C -> D,也就是从A页面跳转到B页面再到C页面最后到D页面,都是用history中的push方法进行跳转的。
两个场景:
请问有没有对应的解决方案?
监听点击返回时:
window.onpopstate = function (event) {
if(当前url==D && document.location!=A){
push到A
}
};
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
history.replaceState()
方法,只保留 D 页面的记录popstate
事件