问题描述
我有关闭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