美文网首页
php记录 用户当前页面停留时间

php记录 用户当前页面停留时间

作者: geeooooz | 来源:发表于2018-10-11 11:00 被阅读106次

onunload +JS定时器 + ajax 实现

每秒写一次数据库肯定是不行的资源释放都来不及,使用js计时器,在离开页面时,调用ajax异步插入数据库,即不延迟跳转,也不会占用资源,插入完就释放了

HTML onunload 事件属性
定义和用法
onunload 属性会在页面下载时触发(或者浏览器窗口已关闭)。
onunload 在用户从页面导航离开时发生(通过点击链接、提交表单或者关闭浏览器窗口等等)。
注释:如果您重载页面,也会触发 unload 事件(以及 onload 事件)。

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
        <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
        <title>记录当前页面存在时间</title>
    </head>

    <body onbeforeunload="test()">
        <header class="aui-bar aui-bar-nav back-green5 header-ding" id="aui-header" style="top:43px;">
            <div class="aui-title"></div>
            <!-- onunload 属性会在页面下载时触发(或者浏览器窗口已关闭)。
    onunload 在用户从页面导航离开时发生(通过点击链接、提交表单或者关闭浏览器窗口等等)。 -->
        </header>
        <form action="{:U('Index/index_post')}" method="post" class="form-horizontal js-ajax-form main-ul-box" enctype="multipart/form-data" style="margin-top:90px;">
            <input type="text" name="timer" id="timer"/> 
            <div class="tuichu-box">
                <input class="weui-btn login-btn" id="button" value="提交" type="submit">
            </div>
        </form>
        </body>
    <script src="/Public/wechat/js/zepto.min.js"></script>
    <script>
var ele_timer = document.getElementById("timer");
var n_sec = 0; //秒
var n_min = 0; //分
var n_hour = 0; //时
//60秒 === 1分
//60分 === 1小时
function timer() {
 return setInterval(function () {
  var str_sec = n_sec;
  var str_min = n_min;
  var str_hour = n_hour;
  if ( n_sec < 10) {
   str_sec = "0" + n_sec;
  }
  if ( n_min < 10 ) {
   str_min = "0" + n_min;
  }
  if ( n_hour < 10 ) {
   str_hour = "0" + n_hour;
  }
  var time = str_hour + "," + str_min + "," + str_sec;
  ele_timer.value = time;
  n_sec++;
  if (n_sec > 59){
   n_sec = 0;
   n_min++;
  }
  if (n_min > 59) {
   n_sec = 0;
   n_hour++;
  }
 }, 1000);
}
var n_timer = timer();
function test(){
    var ele_timer = $("#timer").val();
     $.ajax({
            url: "{:U('Index/index2')}",
            type: "post",
            data: {
                ele_timer:ele_timer,
            },
            dataType: "json",
            success: function(data) {}
        });
}
</script>
</html>

后台代码:

public function index(){
        dump(session('ele_timer'));
        $this->display();
    }
    public function index2(){
        $ele_timer = I('ele_timer');
        session('ele_timer',$ele_timer);
        return true;
    }
    public function index_post(){
        dump(I(''));
        dump(session('ele_timer'));
        die;
    }

相关文章

  • php记录 用户当前页面停留时间

    onunload +JS定时器 + ajax 实现 每秒写一次数据库肯定是不行的资源释放都来不及,使用js计时器,...

  • 【2019-12-13】微信小程序-记录用户在某一个页面的停留时

    如题,如何记录用户在某一个页面的停留时间?首先看下微信给出的小程序的官方文档,关于页面路由的介绍,如图 记录过程代...

  • EventAgent页面埋点统计-使用文档

    个人笔记-页面埋点方案研究 导入包 页面统计 统计用户访问的页面,访问页面的顺序,页面停留时间。SDK主要的类是 ...

  • 页面停留时间 做指标

    首先,统计页面停留时间 然后,将页面停留时间 做回归或者分类(目前,使用分类模型) 注:页面停留时间是连续值,但可...

  • HTTP-cookie

    Refer 记录用户跳转到当前页面前的页面地址; fat url 通过在url后面加入一些用户特有的标识码来识别客...

  • 如何精确统计页面停留时长

    1.背景 页面停留时间(Time on Page)简称 Tp,是网站分析中很常见的一个指标,用于反映用户在某些页面...

  • 如何精确统计页面停留时长

    1.背景 页面停留时间(Time on Page)简称 Tp,是网站分析中很常见的一个指标,用于反映用户在某些页面...

  • chrome中的快捷键

    打开当前标签页浏览记录中记录的上一个页面 : Alt + 向左箭头键 打开当前标签页浏览记录中记录的下一个页面...

  • js判断用户进入和离开当前页面

    VisibilityChange 事件;用于判断用户是否离开当前页面

  • PHP学习总结

    PHP自学计划记录 当前只学习了PHP的基础语法,没有涉及很多PHP内部提供的函数 学习目录:PHP自学计划-注释...

网友评论

      本文标题:php记录 用户当前页面停留时间

      本文链接:https://www.haomeiwen.com/subject/rkzvaftx.html