2015-07-03 55 views
0

我有一个使用护照进行本地身份验证的网络服务器(Nodejs + express +护照)。有谁知道当用户关闭浏览器选项卡时是否发生某种回调?我希望能够检测到这一点,因为我试图为那些没有明确注销的用户保存注销时间戳(即通过单击注销)。MEAN stack,PassportJS:检测客户端何时关闭浏览器选项卡

谢谢!

回答

0

我本来会要求你首先检查一下这些问题,但我认为没有办法按照你的方式去做。那么,检查这些链接:how to run code on window close or refreshhow to detect it was close

基本上你不能。这是许多应用程序显示“上次登录时间”而不是用户注销时间的原因之一,请看看它是否适合您。

关于保存用户的注销时间:我会说根本不存储该值。应该允许会话根据配置过期:即使长时间保持非活动状态,用户也可以注销。此类用户的注销时间可能稍后根据其上次活动时间(您可以在每个页面加载/调用服务器时存储,刷新用户会话计时器时)和会话超时值计算。现在可以在用户下次登录或使用后台进程时计算。

0
  • 可以存储用户的lastActivityDate,并假定用户为XX分钟后下线考虑。

  • 您可以尝试在窗口卸载时执行ajax调用,但如果用户有两个打开的页面,并且他关闭了一个,则数据将为false。也不确定请求是否到达服务器。

  • 您可以在会话中设置非常短的到期时间,并且在页面打开时,执行ajax常规ping以保持会话打开。

相关问题