今はもう使われていない Google Analytics Urchin Module ソースコードをアクセス解析のお勉強ついでに読んでみました。
小飼弾氏のブログ記事と合わせて読むと面白いかもしれない。
・404 Blog Not Found:Google AnalyticsのAnalysis、そして滞在時間のウソ
urchin.js と今動いている非同期 JavaScript の違いが書かれている公式記事。
・urchin.js と非同期 JavaScript の違い - ウェブサイト オプティマイザー ヘルプ
■ ソースコード:http://www.google-analytics.com/urchin.js
//-- Google Analytics Urchin Module
//-- Copyright 2007 Google, All Rights Reserved.
//-- Urchin On Demand Settings ONLY
var _uacct=""; // set up the Urchin Account
var _userv=1; // service mode (0=local,1=remote,2=both)
//-- UTM User Settings
var _ufsc=1; // set client info flag (1=on|0=off)
var _udn="auto"; // (auto|none|domain) set the domain name for cookies
var _uhash="on"; // (on|off) unique domain hash for cookies
var _utimeout="1800"; // set the inactive session timeout in seconds
var _ugifpath="/__utm.gif"; // set the web path to the __utm.gif file
var _utsp="|"; // transaction field separator
var _uflash=1; // set flash version detect option (1=on|0=off)
var _utitle=1; // set the document title detect option (1=on|0=off)
var _ulink=0; // enable linker functionality (1=on|0=off)
var _uanchor=0; // enable use of anchors for campaign (1=on|0=off)
var _utcp="/"; // the cookie path for tracking
var _usample=100; // The sampling % of visitors to track (1-100).
//-- UTM Campaign Tracking Settings
var _uctm=1; // set campaign tracking module (1=on|0=off)
var _ucto="15768000"; // set timeout in seconds (6 month default)
var _uccn="utm_campaign"; // name
var _ucmd="utm_medium"; // medium (cpc|cpm|link|email|organic)
var _ucsr="utm_source"; // source
var _uctr="utm_term"; // term/keyword
var _ucct="utm_content"; // content
var _ucid="utm_id"; // id number
var _ucno="utm_nooverride"; // don't override
//-- Auto/Organic Sources and Keywords
var _uOsr=new Array();
var _uOkw=new Array();
_uOsr[0]="google"; _uOkw[0]="q";
_uOsr[1]="yahoo"; _uOkw[1]="p";
_uOsr[2]="msn"; _uOkw[2]="q";
_uOsr[3]="aol"; _uOkw[3]="query";
_uOsr[4]="aol"; _uOkw[4]="encquery";
_uOsr[5]="lycos"; _uOkw[5]="query";
_uOsr[6]="ask"; _uOkw[6]="q";
_uOsr[7]="altavista"; _uOkw[7]="q";
_uOsr[8]="netscape"; _uOkw[8]="query";
_uOsr[9]="cnn"; _uOkw[9]="query";
_uOsr[10]="looksmart"; _uOkw[10]="qt";
_uOsr[11]="about"; _uOkw[11]="terms";
_uOsr[12]="mamma"; _uOkw[12]="query";
_uOsr[13]="alltheweb"; _uOkw[13]="q";
_uOsr[14]="gigablast"; _uOkw[14]="q";
_uOsr[15]="voila"; _uOkw[15]="rdata";
_uOsr[16]="virgilio"; _uOkw[16]="qs";
_uOsr[17]="live"; _uOkw[17]="q";
_uOsr[18]="baidu"; _uOkw[18]="wd";
_uOsr[19]="alice"; _uOkw[19]="qs";
_uOsr[20]="yandex"; _uOkw[20]="text";
_uOsr[21]="najdi"; _uOkw[21]="q";
_uOsr[22]="aol"; _uOkw[22]="q";
_uOsr[23]="club-internet"; _uOkw[23]="query";
_uOsr[24]="mama"; _uOkw[24]="query";
_uOsr[25]="seznam"; _uOkw[25]="q";
_uOsr[26]="search"; _uOkw[26]="q";
_uOsr[27]="wp"; _uOkw[27]="szukaj";
_uOsr[28]="onet"; _uOkw[28]="qt";
_uOsr[29]="netsprint"; _uOkw[29]="q";
_uOsr[30]="google.interia"; _uOkw[30]="q";
_uOsr[31]="szukacz"; _uOkw[31]="q";
_uOsr[32]="yam"; _uOkw[32]="k";
_uOsr[33]="pchome"; _uOkw[33]="q";
_uOsr[34]="kvasir"; _uOkw[34]="searchExpr";
_uOsr[35]="sesam"; _uOkw[35]="q";
_uOsr[36]="ozu"; _uOkw[36]="q";
_uOsr[37]="terra"; _uOkw[37]="query";
_uOsr[38]="nostrum"; _uOkw[38]="query";
_uOsr[39]="mynet"; _uOkw[39]="q";
_uOsr[40]="ekolay"; _uOkw[40]="q";
_uOsr[41]="search.ilse"; _uOkw[41]="search_for";
_uOsr[42]="bing"; _uOkw[42]="q";
//-- Auto/Organic Keywords to Ignore
var _uOno=new Array();
//_uOno[0]="urchin";
//_uOno[1]="urchin.com";
//_uOno[2]="www.urchin.com";
//-- Referral domains to Ignore
var _uRno=new Array();
//_uRno[0]=".urchin.com";
//-- **** Don't modify below this point ***
var _uff,_udh,_udt,_ubl=0,_udo="",_uu,_ufns=0,_uns=0,_ur="-",_ufno=0,_ust=0,_ubd=document,_udl=_ubd.location,_udlh="",_uwv="1.4";
var _ugifpath2="http://www.google-analytics.com/__utm.gif";
if (_udl.hash) _udlh=_udl.href.substring(_udl.href.indexOf('#'));
if (_udl.protocol=="https:") _ugifpath2="https://ssl.google-analytics.com/__utm.gif";
if (!_utcp || _utcp=="") _utcp="/";
function urchinTracker(page) {
if (_udl.protocol=="file:") return;
if (_uff && (!page || page=="")) return;
var a,b,c,xx,v,z,k,x="",s="",f=0,nv=0;
var nx=" expires="+_uNx()+";";
var dc=_ubd.cookie;
_udh=_uDomain();
if (!_uVG()) return;
_uu=Math.round(Math.random()*2147483647);
_udt=new Date();
_ust=Math.round(_udt.getTime()/1000);
a=dc.indexOf("__utma="+_udh+".");
b=dc.indexOf("__utmb="+_udh);
c=dc.indexOf("__utmc="+_udh);
if (_udn && _udn!="") { _udo=" domain="+_udn+";"; }
if (_utimeout && _utimeout!="") {
x=new Date(_udt.getTime()+(_utimeout*1000));
x=" expires="+x.toGMTString()+";";
}
if (_ulink) {
if (_uanchor && _udlh && _udlh!="") s=_udlh+"&";
s+=_udl.search;
if(s && s!="" && s.indexOf("__utma=")>=0) {
if (!(_uIN(a=_uGC(s,"__utma=","&")))) a="-";
if (!(_uIN(b=_uGC(s,"__utmb=","&")))) b="-";
if (!(_uIN(c=_uGC(s,"__utmc=","&")))) c="-";
v=_uGC(s,"__utmv=","&");
z=_uGC(s,"__utmz=","&");
k=_uGC(s,"__utmk=","&");
xx=_uGC(s,"__utmx=","&");
if ((k*1) != ((_uHash(a+b+c+xx+z+v)*1)+(_udh*1))) {_ubl=1;a="-";b="-";c="-";xx="-";z="-";v="-";}
if (a!="-" && b!="-" && c!="-") f=1;
else if(a!="-") f=2;
}
}
if(f==1) {
_ubd.cookie="__utma="+a+"; path="+_utcp+";"+nx+_udo;
_ubd.cookie="__utmb="+b+"; path="+_utcp+";"+x+_udo;
_ubd.cookie="__utmc="+c+"; path="+_utcp+";"+_udo;
} else if (f==2) {
a=_uFixA(s,"&",_ust);
_ubd.cookie="__utma="+a+"; path="+_utcp+";"+nx+_udo;
_ubd.cookie="__utmb="+_udh+"; path="+_utcp+";"+x+_udo;
_ubd.cookie="__utmc="+_udh+"; path="+_utcp+";"+_udo;
_ufns=1;
} else if (a>=0 && b>=0 && c>=0) {
b = _uGC(dc,"__utmb="+_udh,";");
b = ("-" == b) ? _udh : b;
_ubd.cookie="__utmb="+b+"; path="+_utcp+";"+x+_udo;
} else {
if (a>=0) a=_uFixA(_ubd.cookie,";",_ust);
else {
a=_udh+"."+_uu+"."+_ust+"."+_ust+"."+_ust+".1";
nv=1;
}
_ubd.cookie="__utma="+a+"; path="+_utcp+";"+nx+_udo;
_ubd.cookie="__utmb="+_udh+"; path="+_utcp+";"+x+_udo;
_ubd.cookie="__utmc="+_udh+"; path="+_utcp+";"+_udo;
_ufns=1;
}
if (_ulink && xx && xx!="" && xx!="-") {
xx=_uUES(xx);
if (xx.indexOf(";")==-1) _ubd.cookie="__utmx="+xx+"; path="+_utcp+";"+nx+_udo;
}
if (_ulink && v && v!="" && v!="-") {
v=_uUES(v);
if (v.indexOf(";")==-1) _ubd.cookie="__utmv="+v+"; path="+_utcp+";"+nx+_udo;
}
var wc=window;
var c=_ubd.cookie;
if(wc && wc.gaGlobal && wc.gaGlobal.dh==_udh){
var g=wc.gaGlobal;
var ua=c.split("__utma="+_udh+".")[1].split(";")[0].split(".");
if(g.sid)ua[3]=g.sid;
if(nv>0){
ua[2]=ua[3];
if(g.vid){
var v=g.vid.split(".");
ua[0]=v[0];
ua[1]=v[1];
}
}
_ubd.cookie="__utma="+_udh+"."+ua.join(".")+"; path="+_utcp+";"+nx+_udo;
}
_uInfo(page);
_ufns=0;
_ufno=0;
if (!page || page=="") _uff=1;
}
function _uGH() {
var hid;
var wc=window;
if (wc && wc.gaGlobal && wc.gaGlobal.hid) {
hid=wc.gaGlobal.hid;
} else {
hid=Math.round(Math.random()*0x7fffffff);
if (!wc.gaGlobal) wc.gaGlobal={};
wc.gaGlobal.hid=hid;
}
return hid;
}
function _uInfo(page) {
var p,s="",dm="",pg=_udl.pathname+_udl.search;
if (page && page!="") pg=_uES(page,1);
_ur=_ubd.referrer;
if (!_ur || _ur=="") { _ur="-"; }
else {
dm=_ubd.domain;
if(_utcp && _utcp!="/") dm+=_utcp;
p=_ur.indexOf(dm);
if ((p>=0) && (p<=8)) { _ur="0"; }
if (_ur.indexOf("[")==0 && _ur.lastIndexOf("]")==(_ur.length-1)) { _ur="-"; }
}
s+="&utmn="+_uu;
if (_ufsc) s+=_uBInfo();
if (_uctm) s+=_uCInfo();
if (_utitle && _ubd.title && _ubd.title!="") s+="&utmdt="+_uES(_ubd.title);
if (_udl.hostname && _udl.hostname!="") s+="&utmhn="+_uES(_udl.hostname);
if (_usample && _usample != 100) s+="&utmsp="+_uES(_usample);
s+="&utmhid="+_uGH();
s+="&utmr="+_ur;
s+="&utmp="+pg;
if ((_userv==0 || _userv==2) && _uSP()) {
var i=new Image(1,1);
i.src=_ugifpath+"?"+"utmwv="+_uwv+s;
i.onload=function() { _uVoid(); }
}
if ((_userv==1 || _userv==2) && _uSP()) {
var i2=new Image(1,1);
i2.src=_ugifpath2+"?"+"utmwv="+_uwv+s+"&utmac="+_uacct+"&utmcc="+_uGCS();
i2.onload=function() { _uVoid(); }
}
return;
}
function _uVoid() { return; }
function _uCInfo() {
if (!_ucto || _ucto=="") { _ucto="15768000"; }
if (!_uVG()) return;
var c="",t="-",t2="-",t3="-",o=0,cs=0,cn=0,i=0,z="-",s="";
if (_uanchor && _udlh && _udlh!="") s=_udlh+"&";
s+=_udl.search;
var x=new Date(_udt.getTime()+(_ucto*1000));
var dc=_ubd.cookie;
x=" expires="+x.toGMTString()+";";
if (_ulink && !_ubl) {
z=_uUES(_uGC(s,"__utmz=","&"));
if (z!="-" && z.indexOf(";")==-1) { _ubd.cookie="__utmz="+z+"; path="+_utcp+";"+x+_udo; return ""; }
}
z=dc.indexOf("__utmz="+_udh+".");
if (z>-1) { z=_uGC(dc,"__utmz="+_udh+".",";"); }
else { z="-"; }
t=_uGC(s,_ucid+"=","&");
t2=_uGC(s,_ucsr+"=","&");
t3=_uGC(s,"gclid=","&");
if ((t!="-" && t!="") || (t2!="-" && t2!="") || (t3!="-" && t3!="")) {
if (t!="-" && t!="") c+="utmcid="+_uEC(t);
if (t2!="-" && t2!="") { if (c != "") c+="|"; c+="utmcsr="+_uEC(t2); }
if (t3!="-" && t3!="") { if (c != "") c+="|"; c+="utmgclid="+_uEC(t3); }
t=_uGC(s,_uccn+"=","&");
if (t!="-" && t!="") c+="|utmccn="+_uEC(t);
else c+="|utmccn=(not+set)";
t=_uGC(s,_ucmd+"=","&");
if (t!="-" && t!="") c+="|utmcmd="+_uEC(t);
else c+="|utmcmd=(not+set)";
t=_uGC(s,_uctr+"=","&");
if (t!="-" && t!="") c+="|utmctr="+_uEC(t);
else { t=_uOrg(1); if (t!="-" && t!="") c+="|utmctr="+_uEC(t); }
t=_uGC(s,_ucct+"=","&");
if (t!="-" && t!="") c+="|utmcct="+_uEC(t);
t=_uGC(s,_ucno+"=","&");
if (t=="1") o=1;
if (z!="-" && o==1) return "";
}
if (c=="-" || c=="") { c=_uOrg(); if (z!="-" && _ufno==1) return ""; }
if (c=="-" || c=="") { if (_ufns==1) c=_uRef(); if (z!="-" && _ufno==1) return ""; }
if (c=="-" || c=="") {
if (z=="-" && _ufns==1) { c="utmccn=(direct)|utmcsr=(direct)|utmcmd=(none)"; }
if (c=="-" || c=="") return "";
}
if (z!="-") {
i=z.indexOf(".");
if (i>-1) i=z.indexOf(".",i+1);
if (i>-1) i=z.indexOf(".",i+1);
if (i>-1) i=z.indexOf(".",i+1);
t=z.substring(i+1,z.length);
if (t.toLowerCase()==c.toLowerCase()) cs=1;
t=z.substring(0,i);
if ((i=t.lastIndexOf(".")) > -1) {
t=t.substring(i+1,t.length);
cn=(t*1);
}
}
if (cs==0 || _ufns==1) {
t=_uGC(dc,"__utma="+_udh+".",";");
if ((i=t.lastIndexOf(".")) > 9) {
_uns=t.substring(i+1,t.length);
_uns=(_uns*1);
}
cn++;
if (_uns==0) _uns=1;
_ubd.cookie="__utmz="+_udh+"."+_ust+"."+_uns+"."+cn+"."+c+"; path="+_utcp+"; "+x+_udo;
}
if (cs==0 || _ufns==1) return "&utmcn=1";
else return "&utmcr=1";
}
function _uRef() {
if (_ur=="0" || _ur=="" || _ur=="-") return "";
var i=0,h,k,n;
if ((i=_ur.indexOf("://"))<0 || _uGCse()) return "";
h=_ur.substring(i+3,_ur.length);
if (h.indexOf("/") > -1) {
k=h.substring(h.indexOf("/"),h.length);
if (k.indexOf("?") > -1) k=k.substring(0,k.indexOf("?"));
h=h.substring(0,h.indexOf("/"));
}
h=h.toLowerCase();
n=h;
if ((i=n.indexOf(":")) > -1) n=n.substring(0,i);
for (var ii=0;ii<_uRno.length;ii++) {
if ((i=n.indexOf(_uRno[ii].toLowerCase())) > -1 && n.length==(i+_uRno[ii].length)) { _ufno=1; break; }
}
if (h.indexOf("www.")==0) h=h.substring(4,h.length);
return "utmccn=(referral)|utmcsr="+_uEC(h)+"|"+"utmcct="+_uEC(k)+"|utmcmd=referral";
}
function _uOrg(t) {
if (_ur=="0" || _ur=="" || _ur=="-") return "";
var i=0,h,k;
if ((i=_ur.indexOf("://"))<0 || _uGCse()) return "";
h=_ur.substring(i+3,_ur.length);
if (h.indexOf("/") > -1) {
h=h.substring(0,h.indexOf("/"));
}
for (var ii=0;ii<_uOsr.length;ii++) {
if (h.toLowerCase().indexOf(_uOsr[ii].toLowerCase()) > -1) {
if ((i=_ur.indexOf("?"+_uOkw[ii]+"=")) > -1 || (i=_ur.indexOf("&"+_uOkw[ii]+"=")) > -1) {
k=_ur.substring(i+_uOkw[ii].length+2,_ur.length);
if ((i=k.indexOf("&")) > -1) k=k.substring(0,i);
for (var yy=0;yy<_uOno.length;yy++) {
if (_uOno[yy].toLowerCase()==k.toLowerCase()) { _ufno=1; break; }
}
if (t) return _uEC(k);
else return "utmccn=(organic)|utmcsr="+_uEC(_uOsr[ii])+"|"+"utmctr="+_uEC(k)+"|utmcmd=organic";
}
}
}
return "";
}
function _uGCse() {
var h,p;
h=p=_ur.split("://")[1];
if(h.indexOf("/")>-1) {
h=h.split("/")[0];
p=p.substring(p.indexOf("/")+1,p.length);
}
if(p.indexOf("?")>-1) {
p=p.split("?")[0];
}
if(h.toLowerCase().indexOf("google")>-1) {
if(_ur.indexOf("?q=")>-1 || _ur.indexOf("&q=")>-1) {
if (p.toLowerCase().indexOf("cse")>-1) {
return true;
}
}
}
}
function _uBInfo() {
var sr="-",sc="-",ul="-",fl="-",cs="-",je=1;
var n=navigator;
if (self.screen) {
sr=screen.width+"x"+screen.height;
sc=screen.colorDepth+"-bit";
} else if (self.java) {
var j=java.awt.Toolkit.getDefaultToolkit();
var s=j.getScreenSize();
sr=s.width+"x"+s.height;
}
if (n.language) { ul=n.language.toLowerCase(); }
else if (n.browserLanguage) { ul=n.browserLanguage.toLowerCase(); }
je=n.javaEnabled()?1:0;
if (_uflash) fl=_uFlash();
if (_ubd.characterSet) cs=_uES(_ubd.characterSet);
else if (_ubd.charset) cs=_uES(_ubd.charset);
return "&utmcs="+cs+"&utmsr="+sr+"&utmsc="+sc+"&utmul="+ul+"&utmje="+je+"&utmfl="+fl;
}
function __utmSetTrans() {
var e;
if (_ubd.getElementById) e=_ubd.getElementById("utmtrans");
else if (_ubd.utmform && _ubd.utmform.utmtrans) e=_ubd.utmform.utmtrans;
if (!e) return;
var l=e.value.split("UTM:");
var i,i2,c;
if (_userv==0 || _userv==2) i=new Array();
if (_userv==1 || _userv==2) { i2=new Array(); c=_uGCS(); }
for (var ii=0;ii-1) return;
if (h) { url=l+" #"+p;="" (iq="=-1" (ih="=-1)" url;="" __utmlinker(l,h)="" (!_ulink="" !l="" l="="")" _udl.href="__utmLinkerUrl(l,h);" __utmlinkpost(f,h)="" !f="" !f.action)="" f.action="__utmLinkerUrl(f.action," h);="" __utmsetvar(v)="" (!v="" (!_udo="" _udo="=" "")="" _udh="_uDomain();" (_udn="" _udn!="" +_udn+";";="" (!_uvg())="" *="" 2147483647);="" _ubd.cookie="__utmv=" +_udh+"."+_ues(v)+";="" path="+_utcp+" expires="+_uNx()+" ;"+_udo;="" +r;="" i="new" i.src="_ugifpath+"?"+"utmwv="+_uwv+s;" i.onload="function()" i2="new" i2.src="_ugifpath2+"?"+"utmwv="+_uwv+s+"&utmac="+_uacct+"&utmcc="+_uGCS();" i2.onload="function()" _ugcs()="" t,c="" ,dc="_ubd.cookie;" ((t="_uGC(dc,"__utma="+_udh+".",";"))!="-")" c+="_uES("__utma="+t+";+");" (c.charat(c.length-1)="="+")" c;="" _ugc(l,n,s)="" (!l="" !n="" n="=""" !s="" "-";="" i,i2,i3,c="-" i3="n.indexOf("=")+1;" (i=""> -1) {
i2=l.indexOf(s,i); if (i2 < 0) { i2=l.length; }
c=l.substring((i+i3),i2);
}
return c;
}
function _uDomain() {
if (!_udn || _udn=="" || _udn=="none") { _udn=""; return 1; }
if (_udn=="auto") {
var d=_ubd.domain;
if (d.substring(0,4)=="www.") {
d=d.substring(4,d.length);
}
_udn=d;
}
_udn = _udn.toLowerCase();
if (_uhash=="off") return 1;
return _uHash(_udn);
}
function _uHash(d) {
if (!d || d=="") return 1;
var h=0,g=0;
for (var i=d.length-1;i>=0;i--) {
var c=parseInt(d.charCodeAt(i));
h=((h << 6) & 0xfffffff) + c + (c << 14);
if ((g=h & 0xfe00000)!=0) h=(h ^ (g >> 21));
}
return h;
}
function _uFixA(c,s,t) {
if (!c || c=="" || !s || s=="" || !t || t=="") return "-";
var a=_uGC(c,"__utma="+_udh+".",s);
var lt=0,i=0;
if ((i=a.lastIndexOf(".")) > 9) {
_uns=a.substring(i+1,a.length);
_uns=(_uns*1)+1;
a=a.substring(0,i);
if ((i=a.lastIndexOf(".")) > 7) {
lt=a.substring(i+1,a.length);
a=a.substring(0,i);
}
if ((i=a.lastIndexOf(".")) > 5) {
a=a.substring(0,i);
}
a+="."+lt+"."+t+"."+_uns;
}
return a;
}
function _uTrim(s) {
if (!s || s=="") return "";
while ((s.charAt(0)==' ') || (s.charAt(0)=='\
') || (s.charAt(0,1)=='\\r')) s=s.substring(1,s.length);
while ((s.charAt(s.length-1)==' ') || (s.charAt(s.length-1)=='\
') || (s.charAt(s.length-1)=='\\r')) s=s.substring(0,s.length-1);
return s;
}
function _uEC(s) {
var n="";
if (!s || s=="") return "";
for (var i=0;i0) r=a.substring(i+1,i2); else return "";
if ((i=a.indexOf(".",i2+1))>0) t=a.substring(i2+1,i); else return "";
if (f) {
return r;
} else {
var c=new Array('A','B','C','D','E','F','G','H','J','K','L','M','N','P','R','S','T','U','V','W','X','Y','Z','1','2','3','4','5','6','7','8','9');
return c[r>>28&m]+c[r>>23&m]+c[r>>18&m]+c[r>>13&m]+"-"+c[r>>8&m]+c[r>>3&m]+c[((r&7)<<2)+(t>>30&3)]+c[t>>25&m]+c[t>>20&m]+"-"+c[t>>15&m]+c[t>>10&m]+c[t>>5&m]+c[t&m];
}
}
function _uIN(n) {
if (!n) return false;
for (var i=0;i"9") && (c!=".")) return false;
}
return true;
}
function _uES(s,u) {
if (typeof(encodeURIComponent) == 'function') {
if (u) return encodeURI(s);
else return encodeURIComponent(s);
} else {
return escape(s);
}
}
function _uUES(s) {
if (typeof(decodeURIComponent) == 'function') {
return decodeURIComponent(s);
} else {
return unescape(s);
}
}
function _uVG() {
if((_udn.indexOf("www.google.") == 0 || _udn.indexOf(".google.") == 0 || _udn.indexOf("google.") == 0) && _utcp=='/' && _udn.indexOf("google.org")==-1) {
return false;
}
return true;
}
function _uSP() {
var s=100;
if (_usample) s=_usample;
if(s>=100 || s<=0) return true;
return ((__utmVisitorCode(1)%10000)<(s*100));
}
function urchinPathCopy(p){
var d=document,nx,tx,sx,i,c,cs,t,h,o;
cs=new Array("a","b","c","v","x","z");
h=_uDomain(); if (_udn && _udn!="") o=" domain="+_udn+";";
nx=_uNx()+";";
tx=new Date(); tx.setTime(tx.getTime()+(_utimeout*1000));
tx=tx.toGMTString()+";";
sx=new Date(); sx.setTime(sx.getTime()+(_ucto*1000));
sx=sx.toGMTString()+";";
for (i=0;i<6;i++){
t=" expires=";
if (i==1) t+=tx; else if (i==2) t=""; else if (i==5) t+=sx; else t+=nx;
c=_uGC(d.cookie,"__utm"+cs[i]+"="+h,";");
if (c!="-") d.cookie="__utm"+cs[i]+"="+c+"; path="+p+";"+t+o;
}
}
function _uCO() {
if (!_utk || _utk=="" || _utk.length<10) return;
var d='www.google.com';
if (_utk.charAt(0)=='!') d='analytics.corp.google.com';
_ubd.cookie="GASO="+_utk+"; path="+_utcp+";"+_udo;
var sc=document.createElement('script');
sc.type='text/javascript';
sc.id="_gasojs";
sc.src='https://'+d+'/analytics/reporting/overlay_js?gaso='+_utk+'&'+Math.random();
document.getElementsByTagName('head')[0].appendChild(sc);
}
function _uGT() {
var h=location.hash, a;
if (h && h!="" && h.indexOf("#gaso=")==0) {
a=_uGC(h,"gaso=","&");
} else {
a=_uGC(_ubd.cookie,"GASO=",";");
}
return a;
}
var _utk=_uGT();
if (_utk && _utk!="" && _utk.length>10 && _utk.indexOf("=")==-1) {
if (window.addEventListener) {
window.addEventListener('load', _uCO, false);
} else if (window.attachEvent) {
window.attachEvent('onload', _uCO);
}
}
function _uNx() {
return (new Date((new Date()).getTime()+63072000000)).toGMTString();
}
ちなみに、現在(2012年1月8日)の Google Analytics のコード下記のリンクのもので、圧縮されているので復元すれば読まます。
・http://google-analytics.com/ga.js
圧縮されたJavaScriptを復元するツールはこちらがおすすめです。
・JsDecoder - javascript decoder - decode obfuscated script
以上です。