6 个回答

有个visibilitychange事件可以用来判断页面的可见性,挂监听加个计时器应该就可以了。

先定义什么叫“不访问”。


绑定点击事件,记录时间,这种事,楼主应该会的吧。

参考:在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);

var num = 0
setInterval(function(){

num++

},5000) 用户有操作是情况 num清零 num达到临界值 跳转

可以写个计时器的

setTimeout(function(){
    console.log('跳转到首页')
},10000);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题