javascript 判断用户有没有操作页面
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>