Javascript web应用程序如何检测用户';什么是空闲时间?
我正在开发一个基于浏览器的即时消息客户端,如果可能的话,这个应用程序需要知道用户何时空闲。在任何主流浏览器中,应用程序是否有办法检测用户在系统范围内的空闲时间?如果不能做到这一点,是否有任何推荐的技术可以检测用户在应用程序本身以及可能在同一域下的其他页面中最后一次处于活动状态?如果用户转到不同的页面,我们可以假设他没有空闲,因此问题会简化为“用户在当前页面上是否处于活动状态?” 您可以在body的Javascript web应用程序如何检测用户';什么是空闲时间?,javascript,html,Javascript,Html,我正在开发一个基于浏览器的即时消息客户端,如果可能的话,这个应用程序需要知道用户何时空闲。在任何主流浏览器中,应用程序是否有办法检测用户在系统范围内的空闲时间?如果不能做到这一点,是否有任何推荐的技术可以检测用户在应用程序本身以及可能在同一域下的其他页面中最后一次处于活动状态?如果用户转到不同的页面,我们可以假设他没有空闲,因此问题会简化为“用户在当前页面上是否处于活动状态?” 您可以在body的onMouseMove事件中设置超时。当超时触发时,您知道用户在一段时间内处于非活动状态。如果没有,
onMouseMove
事件中设置超时。当超时触发时,您知道用户在一段时间内处于非活动状态。如果没有,并且您在超时之前收到onMouseMove
,您只需清除超时。
您也可以用同样的方法处理按键操作
如果用户打开页面的多个选项卡,这可能会有点困难,但我会使用
localStorage
在这些选项卡之间进行某种通信。查看键盘和鼠标活动的javascript事件处理程序:如果用户在设定的时间段后没有调用这些事件中的一个,则用户将处于空闲状态。