当前位置: 移动技术网 > IT编程>开发语言>JavaScript > javascript 判断用户有没有操作页面

javascript 判断用户有没有操作页面

2017年12月12日  | 移动技术网IT编程  | 我要评论

javascript 判断用户有没有操作页面

用js判断用户有没有操作页面,我们所要做的就是整理我们的思路。

一、思路

用户有没有操作界面,我们可以从页面在规定时间内有没有触发事件去考虑。比如用户有没有点击,有没有按键,有没有滚动鼠标滚轴。用户有没有移动鼠标等等。如果用户没有进行这些操作,那么我们可以大概的认为用户没有操作页面。我们可以给一个定时器。来记录在规定时间内用户有没有触发这些事件。我直接贴代码,代码的具体含义,我就不再讲解,思路大概就是这样。

二、代码演示

<!doctype html>
<html lang="en">
<head>
 <meta charset="utf-8">
 <title>js判断用户有没有操作页面</title>
</head>
<body>


<script>
 window.onload = function (){

   (function($){
     funobj = {
       timeuserfun:'timeuserfun',
     }
     $[funobj.timeuserfun] = function(time){
       var time = time || 2;
       var usertime = time*60;
       var objtime = {
         init:0,
         time:function(){
           objtime.init += 1;
           if(objtime.init == usertime){
             console.log(111) // 用户到达未操作事件 做一些处理
           }
         },
         eventfun:function(){
           clearinterval(testuser);
           objtime.init = 0;
           testuser = setinterval(objtime.time,1000);
         }
       }

       var testuser = setinterval(objtime.time,1000);

       var body = document.queryselector('html');
       body.addeventlistener("click",objtime.eventfun);
       body.addeventlistener("keydown",objtime.eventfun);
       body.addeventlistener("mousemove",objtime.eventfun);
       body.addeventlistener("mousewheel",objtime.eventfun);
     }
   })(window)


//   直接调用 参数代表分钟数,可以有一位小数;
    timeuserfun(0.1);
 }

</script>

</body>
</html><!doctype html>
<html lang="en">
<head>
 <meta charset="utf-8">
 <title>js判断用户有没有操作页面</title>
</head>
<body>


<script>
 window.onload = function (){

   (function($){
     funobj = {
       timeuserfun:'timeuserfun',
     }
     $[funobj.timeuserfun] = function(time){
       var time = time || 2;
       var usertime = time*60;
       var objtime = {
         init:0,
         time:function(){
           objtime.init += 1;
           if(objtime.init == usertime){
             console.log(111) // 用户到达未操作事件 做一些处理
           }
         },
         eventfun:function(){
           clearinterval(testuser);
           objtime.init = 0;
           testuser = setinterval(objtime.time,1000);
         }
       }

       var testuser = setinterval(objtime.time,1000);

       var body = document.queryselector('html');
       body.addeventlistener("click",objtime.eventfun);
       body.addeventlistener("keydown",objtime.eventfun);
       body.addeventlistener("mousemove",objtime.eventfun);
       body.addeventlistener("mousewheel",objtime.eventfun);
     }
   })(window)


//   直接调用 参数代表分钟数,可以有一位小数;
    timeuserfun(0.1);
 }

</script>

</body>
</html>

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网