.net 记录用户浏览网页的时间

    现在第三方记录网页浏览时间的插件那么多,我们还需要自己书写吗?答案是需要的。
     因为现在的第三方记录只能记录访客的信息,不能记录您想的要的会员的数据,如果让您记录会员的数据,如果让您统计某一类的会员访问平均时间您到哪里找给他呢?
     我们自己书写一个首页需要jquery与ashx配合才可以使用,下面我们就来书写这一个方法吧。
首页我们需要书写一个jquery 方法
首先我们定义一个得到当前的时间的方法
Date.prototype.Format = function (fmt) { //author: meizz   
    var o = {
        "M+": this.getMonth() + 1,                 //月份   
        "d+": this.getDate(),                    //日   
        "h+": this.getHours(),                   //小时   
        "m+": this.getMinutes(),                 //分   
        "s+": this.getSeconds(),                 //秒   
        "q+": Math.floor((this.getMonth() + 3) / 3), //季度   
        "S": this.getMilliseconds()             //毫秒   
    };
    if (/(y+)/.test(fmt))
        fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
    for (var k in o)
        if (new RegExp("(" + k + ")").test(fmt))
            fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
    return fmt;
}
之后我们才是我们的js代码
$(document).ready(function () {
    //定义一个日期
    var d = new Date();
    //得到我们网页开始访问的时间
    var starttime = d.Format("yyyy-MM-dd hh:mm:ss");
    //关键步骤在于这一个jquery网页关闭事件,测试通过关闭是可以触发到的
    $(window).bind(‘beforeunload‘, function () {
     //将信息通过ajax提交出来
        $.ajax({
            type: "GET",
            //这是需要的地址,与下面的建立的ashx的地址要一样
            url: "/ashx/sz886.ashx",
            dataType: "text",
            //这一步是我们传递过去当前的网页
            data: { starttime: starttime, url: window.location.pathname },
            success: function (data) {

            }
        });
 
    });

});
根据上面的Jquery代码,我们就已经书写完成了最重要的部分了,下面我们就要书写.net部分
我们新建一个叫sz886.ashx
然后我们只需要将我们传过来的值保存到数据库就可以了
    string url = context.Request.QueryString["url"];

    DateTime starttime = new DateTime();

    DateTime.TryParse(context.Request.QueryString["starttime"], out starttime);
    
     if (starttime.Equals(null))
     {

       return;

     }
      //这一些比较关键,是得到日期差,得到多少秒的关键
      TimeSpan ts = (TimeSpan)Convert.ToDateTime(endtime).Subtract(Convert.ToDateTime(starttime));
      //得到时间
      int  Seconds= ts.Seconds;
     //保存数据库就可以了。
     
     如有不懂联系独占网络。 http://www.sz886.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。