通过ajax记录网站UV、PV数
1、通过jquery记录网站UV、PV数据
util.track = { log: function () { var referrer = util.browser.getReferrer(), host = window.location.host, pathname = window.location.pathname, url = window.location.href, title = document.title, type = 0, itemId = null; var detailRegex = /\/item\/(\d+)/; if (detailRegex.test(pathname)) { var result = detailRegex.exec(pathname); itemId = result[1]; type = 1; $(".js_spec a").click(function () { setTimeout(function () { var skuId = $("#js_skuId").val(); if (skuId != itemId) { itemId = skuId; r(); } }, 100); }); } var r = function () { //alert("visit url:" + url + " title:" + title + " type:" + type); util.request.get("/ActionHandler.ashx", { referrer: url, url: url, title: title, type: type, itemId: itemId, visit: "visit" }); }; r(); } }; $(function () { //等待500毫秒后执行 setTimeout(function () { util.track.log(); }, 500); })
2、后台Handler.aspx处理页面
<%@ WebHandler Language="C#" Class="ActionHandler" %> using System; using System.Web; public class ActionHandler : IHttpHandler, System.Web.SessionState.IRequiresSessionState { public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; context.Response.Write("Hello World"); if (context.Request["visit"] != null) { string url = context.Request["url"].ToString(); string title = context.Request["title"].ToString(); string referrer = context.Request["referrer"].ToString(); string type = context.Request["type"].ToString(); string itemId = context.Request["itemId"].ToString(); CreateUserTracksLog(url, title, referrer, type.ToInt(0), itemId.ToInt(0)); } } private void CreateUserTracksLog(string url, string title, string referrer, int? type, int? itemId) { ECS.Model.A_UserTracksLog log = new ECS.Model.A_UserTracksLog(); if (HttpContext.Current.Request.Cookies == null) { return; } //if (context.Session[User_TRACK_LASTTIME] != null) //{ // var trackTime = context.Session[User_TRACK_LASTTIME].ToString().ToDateTime(); // if ((DateTime.Now - trackTime).Seconds < 30) // return; //} //context.Session[User_TRACK_LASTTIME] = DateTime.Now; log.VisitToken = this.VisitToken; log.UserId = Utils.GetSessionUserID(); log.IsLogin = Utils.GetSessionUserID() > 0 ? true : false; log.PageUrl = referrer; log.IP = HttpContext.Current.Request.UserHostAddress.ToString(); log.CreateTime = DateTime.Now; new ECS.BLL.A_UserTracksLog().Add(log); } //访问用户令牌 private const string UserTrackVisittoken = "visitToken"; //访问用户令牌 public string VisitToken { get { if (HttpContext.Current.Request.Cookies[UserTrackVisittoken] == null) CreateTrackCookie(); return HttpContext.Current.Request.Cookies[UserTrackVisittoken].Value; } } private static void CreateTrackCookie() { HttpCookie trackCookie = new HttpCookie(UserTrackVisittoken); trackCookie.Value = Guid.NewGuid().ToString(); trackCookie.Expires = DateTime.Now.AddDays(1); HttpContext.Current.Response.AppendCookie(trackCookie); HttpContext.Current.Response.Cookies.Add(trackCookie); } public bool IsReusable { get { return false; } } }

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
常用省市区无刷新联动实例
1、jquery代码 function getCity(CityVal) { var DDL_Province = $("#DDL_Province"); var DDL_City = $("#DDL_City"); DDL_City.empty(); DDL_City.append("<option value=\"0\">市/区</option>"); $.ajax( { type: "post", url: "/UserCart/Controller/CityAreas.ashx", data: { "type": "city", "provinceID": DDL_Province.val() }, dataType: "json", async: false, success: function (msg) { for (var i = 0; i < msg.length; i++) { if (CityVal == msg[i].CityName) { if (msg[i].IsCOD == 1) { DDL_City.append("<...
- 下一篇
fineuploader使用实例
1、Fine Uploader特点 Fine Uploader Features: A:支持文件上传进度显示. B:文件拖拽浏览器上传方式 C:Ajax页面无刷新. D:多文件上传. F:跨浏览器. E:跨后台服务器端语言. 2、页面前端代码 <div id="btnUpload"></div> $(function () { $('#btnUpload').fineUploader({ request: { endpoint: 'Handler/UpLogo.ashx' }, validation: { allowedExtensions: ['jpeg', 'jpg', 'png'] }, multiple: false, text: { uploadButton: '<div>上传头像</div>' } }).on('complete', function (event, id, fileName, responseJson) { if (responseJson.success) { $("#absoluteUrl").val(r...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7设置SWAP分区,小内存服务器的救世主
- SpringBoot2全家桶,快速入门学习开发网站教程
- Hadoop3单机部署,实现最简伪集群
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS关闭SELinux安全模块
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2整合Thymeleaf,官方推荐html解决方案