跨选项卡同步的用户空闲计时器

时间:2019-07-18 18:37:00

标签: javascript angular typescript

我当前的要求是要有一个用户空闲超时,该超时时间为15分钟,它将显示一个弹出窗口,该弹出窗口将具有另一个30秒倒计时,使用户可以选择“扩展”其会话或注销,以及倒计时是否完成用户将自动注销。

此刻我的问题是,用来递减计数的初始空闲检查是在各个标签之间同步的,但是我似乎无法提出一种干净的解决方案来同步用户可能单击了扩展而不是让用户点击的事实。倒计时用完。

我当前的解决方案侦听诸如mousemove,mousedown等事件,并且在任何这些事件中,它会将日期字符串的权限授予“ lastActive”到本地存储。然后,我运行一个时间间隔,对照当前日期检查lastActive日期(本地存储),如果差异大于我配置的“超时时间”(当前为10000ms,用于测试),则它将弹出倒计时对话框,然后出现另一个间隔每秒从我的总倒数中减去1秒,直到计时器达到0,然后注销。如果单击扩展按钮,它将破坏其当前弹出窗口,然后再次重新启动空闲检查。

我希望这里的人可以为一个干净的解决方案提供一些见识,或者可能将我引向一个实际上可以处理多个选项卡的适当的用户空闲库(Angular)。

谢谢!

0 个答案:

没有答案