全国统一服务热线:400-633-9193

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

    网络     2017-11-13    1238

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

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

一、思路

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

二、代码演示

<!DOCTYPE html>

<html>

<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>

<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>


  分享到:  
0.1992s