⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 getclientinfo_house.js

📁 jsp编程的源代码
💻 JS
字号:
var _suds_js_ver_="cookie:3.12";
var cp_rf="http://beacon.sina.com.cn/a.gif";
function getUniproCookie(ckName)
{
	var start = document.cookie.indexOf(ckName+"=");
	if (-1 == start)
	{
		return "";
	}
	start = document.cookie.indexOf("=", start)+1;
	var end = document.cookie.indexOf(";", start);
	if (0 >= end)
	{
		end = document.cookie.length;
	}
	ckValue = document.cookie.substring(start, end);
	return ckValue;	
}
function setUniproCookie(ckName, ckValue, expires)
{ 
	if (ckValue != null)
	{
		if (("undefined" == expires)||(null == expires))
		{
			document.cookie = ckName + "=" + ckValue + "; domain=sina.com.cn; path=/" ;
		}
		else
		{
			var now = new Date();
			var time = now.getTime();
			time = time + 86400000 * expires;
			now.setTime(time);
			time = now.getTime();
			document.cookie = ckName + "=" + ckValue + "; domain=sina.com.cn; expires="+now.toUTCString()+ "; path=/";
		}
	}
}
function putToBeacon(strQuest)
{
	sudsclickstreamdiv.innerHTML="<img src='"+cp_rf+"?"+strQuest+"' border='0' alt='' />";
}
function getPathFormUrl(pageUrl)
{
	var pstart = pageUrl.indexOf("://");
	if (pstart < 0)	{ pstart=0; }
	var pend = pageUrl.indexOf("?");
	if (pend < 0) { pend = pageUrl.indexOf("#"); }
	if (pend > 0)
	{ var pagePath = pageUrl.substring(pstart+3,pend); }
	else
	{ var pagePath = pageUrl.substring(pstart+3); }
	pstart = pagePath.indexOf("sina.com.cn");
	if (pstart> 0)
	{
		var tmpStr=pagePath.substring(0,pstart);
		tmpStr=tmpStr+"sr"+pagePath.substring(pstart+11);
		pagePath =tmpStr;
	}
	return pagePath;	
}
function shrinkCT(strCT)
{
	var page_id = new Array();
	var page_cnt = new Array();
	var p_cnt=0,p_i="",ps=0,pe=0,pl,sp=0;
	pl=strCT.length;
	while(ps<pl)
	{
		pe=strCT.indexOf("|",ps);
		if(pe<0) pe=pl;
		p_i=strCT.substring(ps,pe);
		sp=p_i.indexOf(":");
		if(sp>0)
		{
			page_id[p_cnt]=p_i.substring(0,sp);
			page_cnt[p_cnt]=p_i.substring(sp+1);
			p_cnt=p_cnt+1;
		}
		
		ps=pe+1;
	}
	n_v="";
	ct_i=0;
	while(ct_i<p_cnt)
	{
		pmax=ct_i;
		j=ct_i+1;
		while(j<p_cnt)
		{
			if(page_cnt[pmax]<page_cnt[j])
			{
				pmax=j;
			}
			j=j+1;
		}
		if(pmax!=ct_i)
		{
			tmp_id=page_id[ct_i];
			tmp_cnt=page_cnt[ct_i];
			page_id[ct_i]=page_id[pmax];
			page_cnt[ct_i]=page_cnt[pmax];
			page_id[pmax]=tmp_id;
			page_cnt[pmax]=tmp_cnt;
		}
		ct_i=ct_i+1;
	}
	ct_i=0;
	while(ct_i<p_cnt)
	{
		n_v=n_v+page_id[ct_i]+":"+page_cnt[ct_i]+"|";
		if (n_v.length>512) break;
		ct_i=ct_i+1;
	}
	return n_v;
}
function getConnectionType()
{
	var contype ="";
	try{
	window.document.body.addBehavior("#default#clientCaps");
	contype = window.document.body.connectionType;
	}catch(E){
		contype="unkown";
	}
	return contype;
}	
function pageIsHomepage()
{
	var cul = "";
	var isH ="";
	try{
		cul = window.document.location.href;
		window.document.body.addBehavior("#default#homePage");
		isH = window.document.body.isHomePage(cul)?"Y":"N";
	}catch(E){
		isH="unkown";
	}		
	return isH;
}
function getJSVersion()
{
	var p,appsign,appver,jsver=1.0,isN6=0;
	if ('Microsoft Internet Explorer' == navigator.appName)
	{
		appsign = 'MSIE';
		p = navigator.appVersion.indexOf(appsign);
		if (p>=0)
		{
			appver = parseInt(navigator.appVersion.substring(p+5));

			if (3<=appver)
			{
				jsver = 1.1;
				if (4<=appver)
				{
					jsver = 1.3;
				}
			}
		}
	}
	else if (("Netscape" == navigator.appName)||("Opera" == navigator.appName)||("Mozilla" == navigator.appName))
	{
		if ("Netscape" == navigator.appName)
		{
			appsign = 'Netscape';
			p = navigator.appVersion.indexOf(appsign);
			appver = parseInt(navigator.appVersion.substring(p+9));
			
			appsign = 'Netscape6';
			p = navigator.appVersion.indexOf(appsign);
			if (p>=0)
			{
				isN6=1;
				appver = parseInt(appVersion.substring(p+10));
			}
		}
		if ("Opera" == navigator.appName)
		{
			appsign = 'Opera';
			p = navigator.appVersion.indexOf(appsign);
			appver = parseInt(appVersion.substring(p+6));
		}
		if ("Mozilla" == navigator.appName)
		{
			appsign = 'Mozilla';
			p = navigator.appVersion.indexOf(appsign);
			appver = parseInt(navigator.appVersion.substring(p+8));
		}
		if (1==isN6)
		 {jsver = 1.5;}
		else if (3<=appver)
		{
			jsver = 1.1;
			if (4<=appver)
			{
				jsver = 1.2;
				if (4.5<=appver)
				{ jsver = 1.3;}
			}
		}
	}
	return jsver;
}

function clickpathinfo(pathinfo)
{
	if (("undefined" != pathinfo)||(null != pathinfo))
	{ this.$content=pathinfo; }
	else
	{ this.$content=""; }
	
	this.$userid="";
	if (""!=this.$content)
	{
		var pstart = this.$content.indexOf("lb:");
		if (pstart < 0)
		{ this.$content = ""; }
		
		pstart = 0;
		var pend = this.$content.indexOf("|*|");
		if (pend>0)
		{ this.$userid=this.$content.substring(pstart, pend); }
	}

	if ("" == this.$userid)
	{
		this.$userid = getUniproCookie("UNIPROU");
		if ("" == this.$userid)
		{ this.$userid = getUniproCookie("Apache"); }
		this.$content = this.$userid+"|*|";
	}
}
clickpathinfo.prototype.getPageIDbyUrl = function(pageUrl)
{
	var pstart = 0;
	var pend = 0;

	if (("undefined"==pageUrl)||(""==pageUrl))
	{ return ""; }

	pageUrl=getPathFormUrl(pageUrl);	
	pend = this.$content.lastIndexOf(pageUrl);
	if (pend > 0)
	{
		pstart = this.$content.lastIndexOf("pid:", pend);
		if (pstart < 0)
		{ return ""; }
		
		pstart = pstart+4;
		pend = this.$content.indexOf("|", pstart);
		if (pend < 0)
		{ return ""; }
		
		return this.$content.substring(pstart, pend);
	}
	else
	{ return "";}
}
//iflb=0 no
//iflb=1 yes
//iflb=2 no but after layback
clickpathinfo.prototype.currPageInfo = function(PageID,iflb)
{
	var sid = getUniproCookie("Apache");
	var now = new Date();

	var pid = "pid:"+PageID;
	var currUrl =  document.URL;
	var currPath=getPathFormUrl(currUrl);
	
	var st = "st:0";
	var pre_pid = this.getPageIDbyUrl(document.referrer);	
	var et = "et:"+now.getTime();
	var hp="hp:"+pageIsHomepage();
	var lb="lb:"+iflb;
	return sid+"|"+pid+"|"+currPath+"|"+st+"|"+et+"|"+pre_pid+"|"+hp+"|"+lb+"|*|";
}
clickpathinfo.prototype.saveToCookie = function(expires)
{
	if (("undefined" == expires)||(null == expires))
	{ setUniproCookie("UNIPROPATH", this.$content, 360);}
	else
	{ setUniproCookie("UNIPROPATH", this.$content, expires); }
}
clickpathinfo.prototype.addPageInfo = function(pageInfo)
{
	 this.$content = this.$content+pageInfo; 
}
clickpathinfo.prototype.getUserId = function()
{ return this.$userid; }

clickpathinfo.prototype.getPageInfoByLb0 = function()
{
	var pstart=0,pend=0,pkey=0;
	var lbKey="lb:0",backInfo="",tmpStr="";
	
	pkey=this.$content.indexOf(lbKey);
	while (pkey>0)
	{
		pstart=this.$content.lastIndexOf("|*|",pkey);
		pend=this.$content.indexOf("|*|",pkey);
		if((pstart>0)&&(pend>0))
		{
			pstart=pstart+3;
			pend=pend+3;
			backInfo=backInfo+this.$content.substring(pstart,pend);			

			tmpStr=	this.$content.substring(0,pkey)+"lb:1"+this.$content.substring(pkey+4);
			this.$content=tmpStr;
		}
		pkey=this.$content.indexOf(lbKey,pkey+4);
	}	
	return backInfo;
}
clickpathinfo.prototype.getPageInfoByLb2 = function()
{
	var pstart=0,pend=0,pkey=0,ptmp=0;
	var lbKey="lb:2",backInfo="",tmpStr="";
	
	pkey=this.$content.indexOf(lbKey);
	while (pkey>0)
	{
		pstart=this.$content.lastIndexOf("|*|",pkey);
		pend=this.$content.indexOf("|*|",pkey);
		if((pstart>0)&&(pend>0))
		{
			pstart=pstart+3;
			pend=pend+3;
			tmpStr=this.$content.substring(pstart,pend);
			
			ptmp=tmpStr.indexOf("st:0");
			if(-1==ptmp)
			{
				backInfo=backInfo+tmpStr;
				tmpStr=	this.$content.substring(0,pkey)+"lb:1"+this.$content.substring(pkey+4);
				this.$content=tmpStr;				
			}
		}
		pkey=this.$content.indexOf(lbKey,pkey+4);
	}	
	return backInfo;
}
clickpathinfo.prototype.getLaybackInfo = function()
{
	return this.getPageInfoByLb0()+this.getPageInfoByLb2();
}

clickpathinfo.prototype.shrinkContent = function()
{
	var pstart = this.$content.indexOf("|*|");
	if (pstart < 0)
	{ return 0; }

	var lbKey="lb:1",stKey="st:0";
	var pend = 0;
	var plbKey = this.$content.indexOf(lbKey, pstart);
	var pstKey = 0;
	var tmpContent = "",tmpStr="",et="";
	var maxinter = 86400000 * 1;
	var now = new Date();
	var curt = now.getTime();
	var inter=0;

	var ifDel=0;
	var petst=0,peted=0;
	//var pstart=0,pend=0,pkey=0,ptmp=0;
	while(plbKey>0)
	{
		pstart=this.$content.lastIndexOf("|*|",plbKey);
		pend=this.$content.indexOf("|*|",plbKey);
		if((pstart>0)&&(pend>0))
		{
			ifDel=0;
			pstart=pstart+3;
			pend=pend+3;
			tmpStr=this.$content.substring(pstart,pend);
			pstKey=tmpStr.indexOf(stKey);
			if (pstKey>0)
			{
				petst = tmpStr.indexOf("et:");
				if (petst > 0)
				{ peted = tmpStr.indexOf("|", petst); }
				if (peted > 0)
				{
					petst=petst +3;
					et=tmpStr.substring(petst,peted);
					inter=curt-et;
					if(inter > maxinter)
					{ ifDel=1; }
				}
			}
			else
			{ifDel=1;}
			
			if(1==ifDel)
			{
				tmpContent = this.$content.substring(0,pstart);
				tmpContent = tmpContent + this.$content.substring(pend);
				this.$content = tmpContent;
			}
		}
		plbKey = this.$content.indexOf(lbKey, plbKey+4);
	}
	return 0;
}

clickpathinfo.prototype.setShrink = function(ifShrink)
{
	this.$shrink = ifShrink;
}
clickpathinfo.prototype.setSTbyPageID = function(PageID, stay_time)
{
	if (("undefined"==PageID)||(""==PageID))
	{ return ""; }
	if (("undefined"==stay_time)||(0==stay_time))
	{ return ""; }

	var lpstart = this.$content.indexOf("pid:"+PageID);

	var pend = 0;
	if (lpstart > 0)
	{
		while(lpstart > 0)
		{
			var pstart = this.$content.indexOf("st:", lpstart);
			if (pstart < 0)
			{ return ""; }
			pstart = pstart+3;
			pend = this.$content.indexOf("|", pstart);
			if (pend < 0)
			{ return ""; }
			var tmpContent = this.$content.substring(0,pstart) + stay_time;
			tmpContent = tmpContent + this.$content.substring(pend);
			this.$content = tmpContent;
			lpstart = this.$content.indexOf("pid:"+PageID,lpstart+14);
		}		
	}
	else
	{ return ""; }
}

var suds_uld_bak;
function myOnunload()
{
	var now = new Date();
	var out_time = now.getTime();
	var stay_time = (out_time  - entry_time) /1000;
	if(suds_uld_bak) {suds_uld_bak()};

	var path = getUniproCookie("UNIPROPATH");
	var pinfo = new clickpathinfo(path);
	pinfo.shrinkContent();
	pinfo.setSTbyPageID(currPageId,stay_time);
	pinfo.saveToCookie();
}
function getEnvInfo()
{
	var ckTmp = new String();
	var ckValue = new String();
	var ctPageId = new String();
	var now = new Date();
	var pct=0;

	ckTmp=screen.width+"x"+screen.height;
	ckValue="sz:"+ckTmp+"||";
	
	ckTmp=screen.colorDepth;
	ckValue=ckValue+"dp:"+ckTmp+"||";

	ckTmp=navigator.appCodeName;
	ckValue=ckValue+"ac:"+ckTmp+"||";

	ckTmp=navigator.appName;
	ckValue=ckValue+"an:"+ckTmp+"||";

	ckTmp=navigator.appVersion;
        var pos=0;
        var tmpValue="";
        var len=ckTmp.length;
        var pos2=0;
        pos2 = ckTmp.indexOf(";",pos);
        while(pos2>=0)
        {
                tmpValue = tmpValue + ckTmp.substring(pos,pos2)+",";
                pos=pos2+1;
                pos2 = ckTmp.indexOf(";",pos)
        }
        tmpValue = tmpValue + ckTmp.substring(pos,len);
	ckValue=ckValue+"av:"+tmpValue+"||";

	ckTmp=navigator.cpuClass;
	ckValue=ckValue+"cpu:"+ckTmp+"||"; 

	ckTmp=navigator.platform;
	ckValue=ckValue+"pf:"+ckTmp+"||";

	ckTmp=getJSVersion();
	ckValue=ckValue+"jv:"+ckTmp+"||";

	ckTmp=getConnectionType();
	ckValue=ckValue+"ct:"+ckTmp+"||";
	
	ckTmp=navigator.systemLanguage;
	ckValue=ckValue+"lg:"+ckTmp+"||";
	
	ckTmp=now.getTimezoneOffset()/60;
	ckValue=ckValue+"tz:"+ckTmp;	
	return ckValue;
}

function pageStat(ctPageId)
{
	if ("undefined" == ctPageId)
	{ return 0; }
	var ckCount = getUniproCookie("UNIPROCT");
	var newValue = "";
	if ("" == ckCount)
	{
		newValue = ctPageId +":1"
	}
	else
	{
		if(ckCount.length>1024)
		{
			ckCount = shrinkCT(ckCount);
		}
		
		var pStart = ckCount.indexOf(ctPageId+":");
		if (pStart >= 0)
		{
			pStart = ckCount.indexOf(":",pStart);
			var pEnd = ckCount.indexOf("|",pStart);
			if (pEnd<0)
			{ pEnd = ckCount.length; }
			
			pStart = pStart+1;
			var oldCnt = ckCount.substring(pStart,pEnd);
			var newCnt = (oldCnt-0) + 1;
			newValue = ckCount.substring(0,pStart)+newCnt;
			newValue = newValue + ckCount.substring(pEnd);			
		}
		else
		{
			newValue = ckCount+"|"+ctPageId +":1"
		}
	}
	setUniproCookie("UNIPROCT", newValue, 360);
}

var currPageId;
var entry_time;
function setBaseCookie(shrink, leve1, leve2, leve3, leve4, leve5)
{
	var ckTmp = new String();
	var ckValue = new String();
	var ctPageId = new String();
	var now = new Date();
	var pct=0;
	ckTmp = getUniproCookie("Apache");
	if("" == ckTmp)
	{
		ckTmp = now.getTime()+Math.random();
		setUniproCookie("Apache",ckTmp);
	}
	ckTmp = getUniproCookie("UNIPROINFO");
	if("" != ckTmp)	{ pct = ckTmp.indexOf("tz"); }
	if (("-1" == ckTmp)||("" == ckTmp)||(pct<0))
	{
		ckValue = getEnvInfo();
		setUniproCookie("UNIPROINFO", ckValue, 10);
	}
	else
	{ ckValue=ckTmp; }
	var envStr="UNIPROINFO="+ckValue+";";
	ckValue="";
	ctPageId = "";
	if ("undefined" != leve1)
	{ ckValue=leve1; }
	if ("undefined" != leve2)
	{ ckValue=ckValue+"-"+leve2; }
	if ("undefined" != leve3)
	{
		ckValue=ckValue+"-"+leve3; 
		ctPageId = ckValue;
	}
	if ("undefined" != leve4)
	{ ckValue=ckValue+"-"+leve4; }
	if ("undefined" != leve5)
	{ ckValue=ckValue+"-"+leve5; }

	currPageId = ckValue;	
	if ("" != ctPageId)
	{ pageStat(ctPageId); }

	entry_time = now.getTime();
	var oldValue="";
	oldValue = getUniproCookie("UNIPROPATH");
	if(oldValue.length>1024)
	{shrink=1;}

	//--------------------------------------
	var cp = new clickpathinfo(oldValue);
	cp.setShrink(shrink);
	var currPageStr=cp.currPageInfo(currPageId,shrink); //shrink=2 in flow
	if (1==shrink)
	{
		var lbStr=cp.$userid+"|*|"+cp.getLaybackInfo()+currPageStr;
		lbStr=envStr+"UNIPROPATH="+lbStr+";";
		putToBeacon(lbStr);
		cp.shrinkContent();
	}
	cp.addPageInfo(currPageStr);
	cp.saveToCookie();
}
function setCltCookie(leve1, leve2, leve3, leve4, leve5)
{
	setBaseCookie(0, leve1, leve2, leve3, leve4, leve5);
}

function shrinkCookie(leve1, leve2, leve3, leve4, leve5)
{
	setBaseCookie(1, leve1, leve2, leve3, leve4, leve5);	
}
document.write("<div id=sudsclickstreamdiv style='position: absolute;width:80;top:-300;left:100;visibility: visible;z-index: 1'></div>");
suds_uld_bak=window.onunload;
window.onunload=myOnunload;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -