王朝网络
分享
 
 
 

google的分析(analytics)js代码分析以及重写

王朝html/css/js·作者佚名  2006-11-24
宽屏版  字体: |||超大  

相信用过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"; keyWord[6]="q";

sEn[7]="search"; keyWord[7]="q";

sEn[8]="netscape"; keyWord[8]="query";

sEn[9]="earthlink"; keyWord[9]="q";

sEn[10]="cnn"; keyWord[10]="query";

sEn[11]="looksmart"; keyWord[11]="key";

sEn[12]="about"; keyWord[12]="terms";

sEn[13]="excite"; keyWord[13]="qkw";

sEn[14]="mamma"; keyWord[14]="query";

sEn[15]="alltheweb"; keyWord[15]="q";

sEn[16]="gigablast"; keyWord[16]="q";

sEn[17]="voila"; keyWord[17]="kw";

sEn[18]="virgilio"; keyWord[18]="qs";

sEn[19]="teoma"; keyWord[19]="q";

sEn[20]="baidu"; keyWord[20]="wd";

//test data------------//////////////////////////////-----------/-/-/-/-/-/-/-/-/-/-/-

sEn[21]="localhost"; keyWord[21]="q";

这里面定义一些全局的量,其中upr,urpv为来源参数和指,比如来源为http://www.google.com/?p=BlackSoul&q=javascript,则urp[0]="p",urp[1]="q" 相对应的urpv[0]="BlackSoul",urpv[1]="javascript".

但是最终传输的时候是以分隔符的形式传递给服务器端的.

GUID为随机数,google是这么做的.当初没有想通为什么要保存一个随机数,后来分析数据的才明白过来.为了验证用户的唯一性.

以下是函数处理:

//比较url,如果为搜索引擎则保存关键字-------------

function getKeyword(url)

{

var hostname;

if(url.indexOf(".") == -1)

{hostname = url;}

else

{hostname = url.substring(url.indexOf("."),url.lastIndexOf("."));}

for(var i = 0; i < sEn.length; i++)

{

if(hostname == sEn[i])

{

for(var j = 0; j < urp.length; j ++)

{

if(urp[j] == keyWord[i])

{

return urpv[j];

}

}

}

}

return "";

}

//将URL转换为地址和页面参数和参数值 参数uri为页面地址

function gethn(uri)

{

if(!uri || uri == "") return "";

ur = uri;

var sub;

//带参数

if(ur.indexOf("?") != -1)

{

var url = ur.substring(0,ur.indexOf("?"));

var para = ur.substring(ur.indexOf("?")+1,ur.length);

while(para.length > 0)

{

if(para.indexOf("&") == -1)

{

urp[arrayCount] = para.substring(0,para.indexOf("="));

&n

[1] [2] [3] 下一页

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
>>返回首页<<
推荐阅读
 
 
频道精选
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有