按下浏览器后退按钮时处理路由时遇到问题

时间:2019-03-04 06:16:16

标签: angular angular5 angular6 angular-routing angular7

如何使用浏览器后退按钮

处理Angular中的路线

在按下后退按钮时,我希望浏览器不应该路由后退页面

例如..

**

  • 我们将页面A转到B
  • 然后我们就无法返回到页面A
  • 按下浏览器的“后退”按钮

**

我在Angular中使用Activateroute进行了尝试,这有点在按下后退按钮时显示了一个警告框,我不希望这样,我只想跳过按下后退按钮时的页面。

我也尝试了pushState和popState,但是此过程捕获历史记录仍在捕获路由历史记录,我不希望我的记号出现在浏览器历史记录中

2 个答案:

答案 0 :(得分:0)

您可以使用onPopState方法来处理类似这样的事件。

location.onPopState(() => {

    console.log('pressed back!');

});

This堆栈溢出问题可能会对您有所帮助。

答案 1 :(得分:0)

这是处理用例的两种不同方式。

1。

history.pushState(null, null, document.URL);

2。

window.addEventListener('popstate', function () {
    history.pushState(null, null, document.URL);
});