首页 > 代码库 > .net 记录用户浏览网页的时间
.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
.net 记录用户浏览网页的时间