-2

我想检查用户是否有几秒钟没有使用页面??可以使用 javascript 吗?

4

3 回答 3

1

您可以安装鼠标移动事件处理程序和计时器。在鼠标移动中,您使用当前时间设置一个变量,并在计时器中检查您多久没有看到任何鼠标事件。

当然,您还应该设置一个keydown 处理程序来查看用户是否正在使用键盘。

显然,没有办法知道用户是否只是在仔细阅读页面......有时阅读仍然有资格“使用”......

于 2012-08-18T16:03:57.327 回答
0

取决于您如何定义“未使用”,但可以说当用户切换选项卡或更改浏览器时。

您可以使用 jQuery 轻松捕获此 evan。请注意,下面的代码只是想法,如果有错误,它可能无法在没有调试的情况下运行,但你可以看到我的意思

var seconds=0;
var notLooking=false;
$(window).blur(function(){
   check();
});
$(window).focus(function(){
   absent=false;
   seconds=0;
});

function check(){
   if( seconds > 10 && absent ){
      alert("dude you should monitor your chat, you are absent too long!!!");
      seconds=0;
      absent=false;
   }else{
     if( absent ){
        setTimeout(check, 1000);
     }else{
       //user is back
       absent=false;
       seconds=0;
     }

   }
}
于 2012-08-18T16:15:53.083 回答
0

您必须弄清楚“未使用”是什么意思。现代浏览器的一种常见方法是查看页面选项卡是否具有焦点。您可以使用窗口事件focusblur为此。另请参阅: https ://stackoverflow.com/a/6184276/362536

于 2012-08-18T16:04:27.417 回答