2011-06-25 119 views
0

我正在使用基于浏览器的即时消息客户端,如果可能,此应用程序需要知道用户何时闲置。在任何主流浏览器中,有没有办法让应用程序检测用户在系统范围内的空闲时间?如果没有,那么是否有推荐的技术来检测用户最后在应用程序本身中处于活动状态,以及可能在同一个域中的其他页面中?Web应用程序如何检测用户的空闲时间?

+0

查看JavaScript事件处理程序的键盘和鼠标活动:http://www.javascriptkit.com/jsref/eventkeyboardmouse.shtml 如果用户在设置的时间段之后没有调用一个这样的事件时间。 –

回答

1

如果用户转到不同的页面,我们可以认为他不是空闲的,所以问题会减少到'用户在当前页面上活动?'

您可以在身体的onMouseMove事件中设置超时。当超时激活时,您知道用户在一段时间内处于非活动状态。如果没有,并且您在超时前收到onMouseMove,则只需清除超时。 您也可以用相同的方式处理onKeyPress

如果用户打开页面的许多选项卡,这可能会有点困难,但我只是使用localStorage作为这些选项卡之间的某种通信方式。