【问题标题】:logout user when only browser close not on refresh仅在浏览器关闭而不是刷新时注销用户
【发布时间】:2021-03-29 15:38:08
【问题描述】:

当用户关闭浏览器而不是刷新时注销用户。我使用它,它可以工作,但用户也会在刷新浏览器时注销

@HostListener('window:unload', ['$event'])
unloadHandler($event) {
  this.LogOutByTabClose();
}

@HostListener('window:beforeunload', ['$event'])
public beforeunloadHandler($event) {
  var msg = this.messageBundle['windowClosemsg']
  $event.returnValue = msg;
  return false
}

LogOutByTabClose() {
  this.LoginService.LogOut(UserService.UserId, UserService.DisplayName, UserService.Apptype).subscribe();
  localStorage.clear();
}

【问题讨论】:

  • 没有办法知道用户做了什么来退出页面。
  • 如果它是一个 React 应用程序,您正在寻找的答案就在这里。stackoverflow.com/a/36358770/12965111
  • @graysonmcm 。同时关闭功能的相应选项卡。我无法调用异步服务调用。这是我的问题。用户浏览器刷新点击同时卸载功能也调用

标签: javascript jquery reactjs angular vue.js


【解决方案1】:

一个很好的解决方案是使用Window.sessionStorage。当用户登录时,您将 sessionStorage 变量设置为“true”,当用户注销时将其设置为“false”,当浏览器关闭时,该变量将从 sessionStorage 中删除。

【讨论】:

  • 同时关闭应用程序的相应选项卡。我无法调用异步服务调用。这是我的问题
猜你喜欢
  • 2023-04-06
  • 2019-04-12
  • 2020-10-23
  • 1970-01-01
  • 2014-10-12
  • 2019-11-26
  • 2015-08-22
  • 1970-01-01
  • 2017-12-28
相关资源
最近更新 更多