方法一:通过事件来判断。
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);
}
方法二:
可以通过document.hidden属性判断当前页面是否是激活状态。
兼容性:IE10+,Firefox10+,Chrome14+,Opera12.1+,Safari7.1+
兼容性写法示例:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
var
hiddenProperty =
'hidden'
in
document ?
'hidden'
:
'webkitHidden'
in
document ?
'webkitHidden'
:
'mozHidden'
in
document ?
'mozHidden'
:
null
;
var
visibilityChangeEvent = hiddenProperty.replace(/hidden/i,
'visibilitychange'
);
var
onVisibilityChange =
function
(){
if
(!document[hiddenProperty]) {
console.log(
'页面非激活'
);
}
else
{
console.log(
'页面激活'
)
}
}
document.addEventListener(visibilityChangeEvent, onVisibilityChange);
|