页面在一段时间不访问时。返回首页
参考:在document上绑定一个click事件 点击记录当前时间。初始化一个全局的计时器每过5分钟 比较当前时间与最后一次点击时间的差值 大于5分钟则返回首页
同样的还有如keydown scroll事件也要记录
//定义秒
var second = 0;
//定义分
var minute = 0;
//定义时
var hour = 0;
//定义定时器
var timer = '';
//兼容性写法
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('在浏览页面');
//清除定时
clearInterval(timer);
console.log('截止刚才访问了'+second+'秒');
second = 0;
console.log('现在已经清为'+second+'秒');
}else{
console.log('不在浏览页面');
// 开始定时
timer = window.setInterval(function(){
second++;
if(second==60){
second=0;minute+=1;
}
if(minute==60) {
minute=0;hour+=1;
}
console.log(second);
//code here
},1000);
}
}
document.addEventListener(visibilityChangeEvent, onVisibilityChange);
13 回答13k 阅读
7 回答2.2k 阅读
3 回答1.3k 阅读✓ 已解决
6 回答1.3k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
6 回答1.1k 阅读
有个visibilitychange事件可以用来判断页面的可见性,挂监听加个计时器应该就可以了。