日期:2010-08-28  浏览次数:20470 次

   相信用过google的analytics的朋友都了解其功能的强大.
    由于工作需要,最近将其urchin.js的代码down了一份下来研究了一下.由于其注释很少,命名也很难读懂.研究了1个月.小有所成.将其代码重写并加上了注释.与大家一同分享.这里面将google的用户识别代码删除. /**//*
 =====================================
|--------Author By BlackSoul---------|
|------------2006.04.27--------------|
|--------BlackSoulylk@gmail.com------|
|------------QQ:9136194--------------|
|------http://blacksoul.cnblogs.cn---|
======================================
*/

//定义全局量
var ur = "";                                                  //来源地址
var urp = new Array();                                        //来源参数名称
var urpv = new Array();                                       //来源参数值
var arrayCount = 0;                                           //参数数目
pageOpen = new Date();                                          //进入页面的时间
var reqURL = "http://192.168.0.219/Analytics/";               //接收数据的页面地址
var GUID = Math.round(Math.random()*2147483647);              //用户唯一随机数
var title = document.title;                                   //网页标题
var uexp = pageOpen.getTime() + ( 1000 * 60 * 60 * 24 * 30 ); //设置cookie过期时间 既回访用户的限定
var rtu = "false";                                            //指示用户是否回访用户

//浏览器特征信息
var brower = new Array();
/**//*
* brower[0] 浏览器类型
* brower[1] 浏览器版本
* brower[2] 浏览器java是否打开 1开-1关
* brower[3] 浏览器flash版本
* brower[4] 浏览器操作系统
* brower[5] 浏览器分辨率
* brower[6] 浏览器色深
* brower[7] 浏览器语言
* brower[8] 浏览器插件
*/
var sEn=new Array();    //搜索引擎的名称
var keyWord=new Array(); //关键字传输形式
sEn[0]="google";        keyWord[0]="q";
sEn[1]="yahoo";            keyWord[1]="p";
sEn[2]="msn";            keyWord[2]="q";
sEn[3]="aol";            keyWord[3]="query";
sEn[4]="lycos";            keyWord[4]="query";
sEn[5]="ask";            keyWord[5]="q";
sEn[6]="altavista";&