如何在angular5

时间:2019-02-08 10:41:17

标签: angular5

我正在尝试在用户关闭浏览器/选项卡时放入逻辑,然后我需要清除本地会话。所以我用过beforeunload事件。问题在于浏览器关闭以及页面刷新都被调用。而且我不必在刷新时清除会话,它应该关闭。 我尝试仅通过使用clientYpageY进行检查,但对我来说不起作用。 我也尝试使用下面的代码来确定浏览器是否要刷新,并设置标志值并在beforeunload事件中使用它。但在beforeunload事件之后被调用

this.subscription = this.router.events.subscribe((event) => {
if (event instanceof NavigationStart) {
 this.browserRefresh = !this.router.navigated;
  if(this.browserRefresh)
  {
   console.log("browserRefresh");
  }
  else
  {
   console.log(" else browserRefresh");
  }

}  });

@HostListener('window:beforeunload', ['$event'])
    beforeunload($event) {

    console.log("clear session");

}

请建议我是否为任务使用了错误的事件,或者为我建议了正确的方法。我检查了建议的几个链接,但没有任何帮助。 谢谢

1 个答案:

答案 0 :(得分:0)

您可以尝试这样的Hope,这样它就可以工作

@HostListener('window:unload', ['$event'])
    beforeunload($event) {

    console.log("clear session");

}