我正在尝试创建一个会话超时功能,如果用户在一段时间内保持空闲(比如
session_timeout
,应该在用户界面上显示一个弹出窗口,如果仍然没有采取行动则自动注销。
如果
session_timeout<=20 minutes
(大约),它工作正常。但是如果session_timeout>40 minutes
就不行了。我没有看到任何弹出窗口,用户也没有注销。
我的猜测是在一段时间不活动后,浏览器冻结其空闲选项卡,因此本应倒计时
session_timeout
的计时器也停止更新。
这是一个很好的猜测吗?如果是,如何防止浏览器冻结我的标签页?是否还有其他可能的原因导致这种情况发生?
实现此功能的最佳方式是什么?
请注意,我已经在 Angular 和 Javascript 中实现了它。