开发者社区> 问答> 正文

有没有什么方法能够判断用户浏览网站累积时间2分钟,弹出一个框?然后点击关闭 下次再也不弹出了

有没有什么方法能够判断用户浏览网站累积时间2分钟,弹出一个框?然后点击关闭 下次再也不弹出了

我目前做的是根据cookie来判断的,但是用户打开另外个页面,cookie又重新加载了,目前只能做的是当前的页面停留多少后关闭,不能判断累积时间

<script language="javascript">
function popup(){setTimeout(function(){test()},1000*6);}
    function test(){
        //打开你的登录注册弹窗
        $.colorbox({
          href:"#reg_popup_box",
          inline:true,
          fixed:true,
          overlayClose:false,
          opacity:0.3,
          height:400,
          width:655,
        });
    //记录一个cookie名称
     var _regTipDialog = $.cookie('regTipDialog');
     var date = new Date();
     date.setTime(date.getTime() + (1000*5000));
     $.cookie("regTipDialog", "date", {expires:date, path:'/'});
   }
 //cookie不存在的时候执行
if(!($.cookie('regTipDialog'))){
    popup();
}
</script>

展开
收起
a123456678 2016-07-11 15:15:38 2028 0
1 条回答
写回答
取消 提交回答
  • 首先两个COOKIE,times代表浏览时间,updatetime代表上次更新时间戳,为的防止同时打开多个页面,重复统计的问题。下面的nowtime代表当前时间戳

    1,首先检测是否存在times和updatetime

    2,存在,那么就每隔一秒,检测一下nowtime-updatetime大于等于1的时候那么times就加1,同时updatetime就更新为当前时间戳

    3,不存在,那么就创建times为0,updatetime为当前时间戳,然后每隔一秒重复步骤2

    4,就是在setInterval中判断times是否等于120,等于就弹出。点击关闭其实就不用管了,因为times是一直增加的,不会再等于120,就不会弹出了。或者再设置其他的一个cookie代表已经弹出过

    2019-07-17 19:54:14
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载