google的分析(analytics)js代码分析以及重写(3)
2008-02-22 09:34:51来源:互联网 阅读 ()
if(guid != null)
{
return guid;
}
else
{
return "noCookie";
}
}
//---------------------获得注册用户cookie---------------------------------------------
function getRegUserCookie()
{
return ;
}
//-----------------------------cookie 操作完毕------------------------------------------------------------------------------------------------------------
//---------------------------得操作系统---------------------------
function getOS()
{
var OSlist = new Array();
var OSName = new Array();
OSlist[0] = " Windows4.0"; OSName[0] = "Windows 95";
OSlist[1] = " Windows 98"; OSName[1] = "Windows 98";
OSlist[2] = " Windows NT 5.0"; OSName[2] = "Windows 2000";
OSlist[3] = " Windows NT 5.1"; OSName[3] = "Windows XP";
OSlist[4] = " Windows NT 5.2"; OSName[4] = "Windows Server 2003";
var ua = navigator.userAgent.split(";");
for(var i = 0; i < OSlist.length; i )
{
if(ua[2] == OSlist[i])
return OSName[i];
}
return ua[2];
}
//获得插件
function getPlugin()
{
var plugin = "";
var ua = navigator.userAgent.split(";");
if(ua.length < 4)
return "";
for(var i = 4; i < ua.length; i )
{
plugin = ua[i] ",";
}
return plugin.substring(0,plugin.length-2);
}
需要说明的一点是GetResidentTime这个函数,google采用了img.load的方法加载了接收处理信息页面的,需要再服务器端配置将后缀为.gif或你所取的其他形式的文件使用aspx的方式编译运行.因为我原来考虑的是使用xmlHttp异步调用.但是页面退出的时候有时候不执行.所以就弃用了.代码如下: function GetResidentTime()
{
pageClose = new Date();
minutes = (pageClose.getMinutes() - pageOpen.getMinutes());
if(minutes < 0)
{
minutes = minutes 60;
}
seconds = (pageClose.getSeconds() - pageOpen.getSeconds());
if(seconds < 0){ seconds = 60;}
time = (seconds (minutes * 60));
//------------------------修改此处为接收链接地址 XML 异步传输------------------------------------
// var xmlHttp = createXMLHttpRequest();
// xmlHttp.open("POSt", reqURL firstvisit.aspx?" StrPara(), false);
// xmlHttp.send(null);
//----------------------------图片形式传递-------------------------------------------------------
if(isReturn() == false)
{
var i = new Image(1,1);
i.src = reqURL "firstVisit.aspx?" StrPara() "&GUID=" GUID;
i.onload = function() {LoadVoid();}
//进入页面的信息
if(getCookieValue("GUID") == "noCookie"){return ;}
i.src = reqURL "pageView.gif?" pageView() "&st=" time;
i.onload=function() {LoadVoid();}
}
else
{
var i=new Image(1,1);
i.src = reqURL "pageView.gif?" pageView() "&st=" time;
i.onload=function() {LoadVoid();}
}
} 最后就是调用了.我使用了window.onunload = GetResidentTime
传递的参数大家可以打印出来看一下.应该可以明白其意思.
剩下的就是服务器端的处理了,在服务器端处理其实相当简单.取得request的值,验证并保存入数据库.现在有了数据,分析的事情就由用户按照自己的要求来处理了..补充一句,ip地址是由服务器端来取得保存的.
使用的时候记得一定将其放到服务器端,然后使用<javascript language="javascript" type="text/javascript" src=服务器地址 路径 "statistics.js"> </script> 附上完整的代码http://www.cnblogs.com/Files/BlackSoul/statistic.rar下载.
该例子我在IE,firefox,netscape下面测试都很正常.搞了一个月,总算有所成就了.但是还有很多需要改进的地方,希望做过的,感兴趣的朋友多多指点交流.
http://blacksoul.cnblogs.com/archive/2006/05/19/404563.html
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash
