上一个浏览器选项卡接近注销角度应用程序

问题描述 投票:1回答:1

我要在关闭上一个浏览器选项卡时注销我的应用程序。我在应用程序组件中添加了[[@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
1个回答
0
投票
没有更多信息(tabsCount实现将非常有帮助),我只能提供以下建议:

    同时打开3个标签。当您关闭第三个按钮时,它是否将您注销?
  1. 如果刷新最后一个打开的标签,则将无法使用。当您关闭窗口并刷新窗口时会触发此事件,因此这很可能会为您的应用程序带来一些副作用。
  • 我的猜测是,您使用本地存储like here来获取选项卡的数量,并且计算出了问题。
  • © www.soinside.com 2019 - 2024. All rights reserved.