通过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;
        }
    }

}
时间: 2025-01-20 19:56:59

通过ajax记录网站UV、PV数的相关文章

jQuery通过ajax请求php遍历json数组到table中的代码(推荐)_jquery

html代码(test.html),js在html底部 具体代码如下所示: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>test-jquery-ajax-list</title> </head> <body> <div class="main">

Ajax 实现网站劫持的检测方法

https可以彻底解决劫持的问题.但是一般虚拟主机都不支持 https,难道http只能任流氓们恶意劫持么? 既然只有第一次访问时才会出现抽奖链接,通过JS在浏览器中检测,如果发现 被植入的 代码,则自动刷新网页,就可以解决被劫持的问题了. 现在要做的就是得到 被植入的代码.找了一圈,没有找到检查的工具.网站传输到客户的浏览器,需要三个步骤:[1]服务器 -> [2]运行商 -> [3]客户浏览器. 劫持出现在第[2]步,因为离开了服务器,已经不受控制了.但是第[3]部的浏览器可以通过JS来控

服务器-这些因素如何影响一个java web网站的并发数

问题描述 这些因素如何影响一个java web网站的并发数 服务器tomcat:最大连接数(maxThreads)和(acceptCount) 缓存redis:最大连接数(maxActive).最大空闲连接数(maxIdle) 数据源c3p0:最大连接数(maxPoolSize) 请教大牛解释这些参数和整个web网站并发数的关系

最常用的Ajax框架网站资源列表

最常用的Ajax框架网站资源列表,如下列表 EXT-http://www.extjs.com/(中文:http://www.ajaxjs.com/)Microsoft Ajax - http://ajax.asp.net Java BluePrints - https://blueprints.dev.java.net/ Protptype - http://www.prototypejs.org/ Scriptaculus - http://script.aculo.us/ Laszlo -

提升网站的pv量攻略!

目前很多的站长朋友都在研究百度搜索引擎的机制与原理,如何才能够让自己优化的网站快速的获得好的排名,我们要知道百度要给予一个网站好的权重值或者好的排名,那都不是单单做好某一个方面就行,这个百度是要分析这个网站的综合数据才可以判断,其中在综合数据里面pv就占有一定的比例,那么如何才能够提升一个网站的pv量呢?接下来给大家分享下我个人的一些实战经验,效果不错! 在这里给一些新站长朋友解释一下什么是pv:其实pv量简单的说就是一个网站的页面浏览量,点击一个网站的页面那么就给网站带来了一个pv;接下来真正

如何从Yahoo site explore里面自动获取网站的link数

问题描述 我现在要从Yahoositeexplore(http://siteexplorer.search.yahoo.com/search?p=http%3A%2F%2Fwww.ovid.com%2Fsite%2Findex.jsp&bwm=i&bwmo=s)里面自动获取很多网站的link数,因为网站数比较多,我现在想编程实现这个功能.基本想法是自动从Excel里面获取网站的地址,然后自动的把link数放到excel相应的网站后面.我现在还没有什么头绪,考虑用VBA或者java来实现,希

浅析刷网站的pv是否真的可以提升排名

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 话说搜索引擎现在越来越注重用户体验了,不管百度还是谷歌,都更重视这方面了.而搜索引擎对用户体验的判定基本上是看IP和PV,这也就使很多站长起了心思,IP和PV这两个数据还是很容易造假的,而且也可以用一些软件来刷数据,例如沙丁鱼,可以刷IP,可以刷PV.所以很多站长都想在这两个数据进行造假.但是否行得通呢?很早以前我们就发现刷IP不好做,容易被

今年5月谷歌网站UV达1.89亿居全美首位

中介交易 SEO诊断 淘宝客 云主机 技术大厅 comScore:今年5月谷歌网站UV达1.89亿居全美首位 新浪科技讯 北京时间6月23日晚间消息,美国市场研究公司comScore今天发布了5月美国互联网发展报告.按独立用户访问量(Unique Visitors,以下简称"UV")排名,谷歌(微博).雅虎和微软(微博)位居前三. 今年5月,谷歌网站的UV为1.89亿,位居全美网站首位.雅虎网站(1.67亿次)和微软网站(1.64亿次)分居2.3位.Facebook.com以1.58亿

今年7月谷歌网站UV达1.9亿次 全美居首

中介交易 SEO诊断 淘宝客 云主机 技术大厅 新浪科技讯 北京时间8月27日早间消息,美国市场研究公司comScore发布了7月份美国互联网市场份额报告.按月独立用户访问量(UV)计算,今年7月谷歌网站仍然位居全美第一,UV达1.90亿次;微软网站和雅虎网站分列二.三位,Facebook.com居第四. 今年7月,谷歌网站UV达1.90亿次,居全美首位.微软网站排名第二,UV达1.69亿次.雅虎网站居第三,UV达1.63亿次.Facebook.com居第四,UV达1.61亿次.AOL网站居第五