当浏览器或选项卡在 Angular 中关闭时调用注销 API

问题描述

我有关闭angular应用程序选项卡或整个浏览器时调用注销api的场景。我尝试了该方法

@HostListener('window:beforeunload',['$event'])
  doSomething($event: any) {
    this.logout();
  }
window.onbeforeunload = function (event) {
};

我已经尝试过这些方法,但似乎不起作用。

解决方法

您是否在移动设备上使用上述事件?如果是这样,如果用户更改应用程序,它将不会触发。见https://developer.mozilla.org/en-US/docs/Web/API/Window/unload_event

推荐使用的事件是visibilitychange 或pagehide 事件。 参考

https://developer.mozilla.org/en-US/docs/Web/API/Document/visibilitychange_event

https://developer.mozilla.org/en-US/docs/Web/API/Window/pagehide_event