【问题标题】:User logout , Browser tab closing event用户注销,浏览器选项卡关闭事件
【发布时间】:2020-02-09 02:03:36
【问题描述】:

如何注销用户,如果所有选项卡都关闭,如何获取浏览器选项卡唯一 ID,以便我可以在加载前将其添加到本地存储并在卸载前删除。

这是我尝试过的:

这里我使用的是本地存储和会话存储

条件检查:

1) 首次加载:设置localstorage变量和sessionstorage on load方法

2) 打开另一个标签:增加本地存储加载方法

3) 刷新同一页面:如果 sessionStorage 存在不增加本地存储计数

4) 如果 web Tab 关闭: Onbeforeunloading 方法 -> 减少本地存储计数

5) Onbeforeunloading last tab: 注销,如:count ===0 => 调用注销方法。

6) 一切正常计数也在减少,但是当谈到最后一个选项卡注销方法时没有调用

【问题讨论】:

  • 为什么不使用会话存储,它是为了在用户关闭选项卡时被清除而精确创建的?在任何情况下,您都需要提供一些研究证据以及您为避免投反对票所做的努力。
  • 当然@Heretic Monkey,我忘了添加那些更新原始帖子的东西

标签: javascript reactjs


【解决方案1】:

虽然这不是您具体要求的,但我认为将保存身份验证令牌的 cookie 设置为“临时”可以避免整个问题。不过,它要求您有权访问 Web 服务器。

https://stormpath.com/blog/everything-you-ever-wanted-to-know-about-node-dot-js-sessions

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-10-12
    • 1970-01-01
    • 2012-08-19
    • 1970-01-01
    • 2019-09-21
    • 2017-01-17
    • 1970-01-01
    相关资源
    最近更新 更多