做了一些研究,有没有办法在用户点击浏览器后退按钮或转发时重新加载当前页面?对于SPA。
我知道不建议限制用户使用他们的浏览器按钮,也可能没有太多控制它们。
我正在研究这样的事情:
@HostListener('window:beforeunload', ['$event'])
onPopState(event) {
console.log("Back Button detected!");
window.history.forward();
}
更新:这更接近我想要实现的目标,但是如果用户发送后退按钮,他可能会回到SPA中的前一个屏幕。 (我没有使用{skipLocationChange:true}以便解决该问题。
<script>
history.pushState(null, null, location.href);
window.onpopstate = function (event) {
history.go(1);
};
</script>