Angular 2:在浏览器后退/前进/刷新时重新加载当前页面

时间:2017-08-03 13:26:41

标签: javascript angular typescript

做了一些研究,有没有办法在用户点击浏览器后退按钮或转发时重新加载当前页面?对于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>

0 个答案:

没有答案