【发布时间】:2019-11-17 17:13:41
【问题描述】:
我想在关闭最后一个浏览器选项卡时注销我的应用程序。我在我的应用组件中添加了 @HostListener。在构造函数中安慰 tabcount 给出了打开选项卡的准确计数,但无法理解为什么我的条件不符合我的要求。目前它总是让我退出。
app.component.ts
constructor(
private authService: AuthService
) {
console.log(tabCount.tabsCount());
}
// Handle session on browser tab close . . .
@HostListener('window:beforeunload', ['$event'])
public beforeunloadHandler($event) {
console.log(tabCount.tabsCount());
if (localStorage.getItem('rememberMe') == null){
if (tabCount.tabsCount() == 1){
console.log(tabCount.tabsCount());
this.authService.logout();
}
}
}
退出方式:
logout(): void {
$('.modal').modal('hide');
localStorage.removeItem('accessToken');
localStorage.removeItem('session_data');
this.router.navigate(['/login']);
}
【问题讨论】:
标签: angular tabs cross-browser onbeforeunload