1// awstats_misc_tracker.js 2//------------------------------------------------------------------- 3// You can add this file onto some of your web pages (main home page can 4// be enough) by adding the following HTML code to your page body: 5// 6// <script language=javascript src="/js/awstats_misc_tracker.js"></script> 7// <noscript><img src="/js/awstats_misc_tracker.js?nojs=y" height=0 width=0 border=0 style="display: none"></noscript> 8// 9// * This must be added after the <body> tag, not placed within the 10// <head> tags, or the resulting tracking <img> tag will not be handled 11// correctly by all browsers. Internet explorer will also not report 12// screen height and width attributes until it begins to render the 13// body. 14// 15// This allows AWStats to be enhanced with some miscellanous features: 16// - Screen size detection (TRKscreen) 17// - Browser size detection (TRKwinsize) 18// - Screen color depth detection (TRKcdi) 19// - Java enabled detection (TRKjava) 20// - Macromedia Director plugin detection (TRKshk) 21// - Macromedia Shockwave plugin detection (TRKfla) 22// - Realplayer G2 plugin detection (TRKrp) 23// - QuickTime plugin detection (TRKmov) 24// - Mediaplayer plugin detection (TRKwma) 25// - Acrobat PDF plugin detection (TRKpdf) 26//------------------------------------------------------------------- 27 28// If you use pslogger.php to generate your log, you can change this line with 29// var awstatsmisctrackerurl="pslogger.php?loc=/js/awstats_misc_tracker.js"; 30var awstatsmisctrackerurl="/js/awstats_misc_tracker.js"; 31 32function awstats_setCookie(TRKNameOfCookie, TRKvalue, TRKexpirehours) { 33 var TRKExpireDate = new Date (); 34 TRKExpireDate.setTime(TRKExpireDate.getTime() + (TRKexpirehours * 3600 * 1000)); 35 document.cookie = TRKNameOfCookie + "=" + escape(TRKvalue) + "; path=/" + ((TRKexpirehours == null) ? "" : "; expires=" + TRKExpireDate.toGMTString()); 36} 37 38function awstats_detectIE(TRKClassID) { 39 TRKresult = false;
40 document.write('<SCR' + 'IPT LANGUAGE=VBScript>\n on error resume next \n TRKresult = IsObject(CreateObject("' + TRKClassID + '"))</SCR' + 'IPT>\n'); 41 if (TRKresult) return 'y'; 42 else return 'n'; 43} 44 45function awstats_detectNS(TRKClassID) { 46 TRKn = "n"; 47 if (TRKnse.indexOf(TRKClassID) != -1) if (navigator.mimeTypes[TRKClassID].enabledPlugin != null) TRKn = "y"; 48 return TRKn; 49} 50 51function awstats_getCookie(TRKNameOfCookie){ 52 if (document.cookie.length > 0){ 53 TRKbegin = document.cookie.indexOf(TRKNameOfCookie+"="); 54 if (TRKbegin != -1) { 55 TRKbegin += TRKNameOfCookie.length+1; 56 TRKend = document.cookie.indexOf(";", TRKbegin); 57 if (TRKend == -1) TRKend = document.cookie.length; 58 return unescape(document.cookie.substring(TRKbegin, TRKend)); 59 } 60 return null; 61 } 62 return null; 63} 64 65if (window.location.search == "" || window.location.search == "?") { 66 // If no query string 67 TRKnow = new Date(); 68 TRKscreen=screen.width+"x"+screen.height; 69 if (navigator.appName != "Netscape") {TRKcdi=screen.colorDepth} 70 else {TRKcdi=screen.pixelDepth}; 71 TRKjava=navigator.javaEnabled(); 72 TRKuserid=awstats_getCookie("AWSUSER_ID"); 73 TRKsessionid=awstats_getCookie("AWSSESSION_ID"); 74 var TRKrandomnumber=Math.floor(Math.random()*10000); 75 if (TRKuserid == null || (TRKuserid=="")) {TRKuserid = "awsuser_id" + TRKnow.getTime() +"r"+ TRKrandomnumber}; 76 if (TRKsessionid == null || (TRKsessionid=="")) {TRKsessionid = "awssession_id" + TRKnow.getTime() +"r"+ TRKrandomnumber}; 77 awstats_setCookie("AWSUSER_ID", TRKuserid, 10000); 78 awstats_setCookie("AWSSESSION_ID", TRKsessionid, 1); 79 TRKuserid=""; TRKuserid=awstats_getCookie("AWSUSER_ID"); 80 TRKsessionid=""; TRKsessionid=awstats_getCookie("AWSSESSION_ID"); 81 82 var TRKagt=navigator.userAgent.toLowerCase(); 83 var TRKie = (TRKagt.indexOf("msie") != -1); 84 var TRKns = (navigator.appName.indexOf("Netscape") != -1); 85 var TRKwin = ((TRKagt.indexOf("win")!=-1) || (TRKagt.indexOf("32bit")!=-1)); 86 var TRKmac = (TRKagt.indexOf("mac")!=-1); 87 88 // Detect the browser internal width and height 89 if (document.documentElement && document.documentElement.clientWidth) 90 TRKwinsize = document.documentElement.clientWidth + 'x' + document.documentElement.clientHeight; 91 else if (document.body) 92 TRKwinsize = document.body.clientWidth + 'x' + document.body.clientHeight; 93 else 94 TRKwinsize = window.innerWidth + 'x' + window.innerHeight; 95 96 if (TRKie && TRKwin) { 97 var TRKshk = awstats_detectIE("SWCtl.SWCtl.1") 98 var TRKfla = awstats_detectIE("ShockwaveFlash.ShockwaveFlash.1") 99 var TRKrp = awstats_detectIE("rmocx.RealPlayer G2 Control.1") 100 var TRKmov = awstats_detectIE("QuickTimeCheckObject.QuickTimeCheck.1") 101 var TRKwma = awstats_detectIE("MediaPlayer.MediaPlayer.1") 102 var TRKpdf = 'n'; 103 if (awstats_detectIE("PDF.PdfCtrl.1") == 'y') { TRKpdf = 'y'; } 104 if (awstats_detectIE('PDF.PdfCtrl.5') == 'y') { TRKpdf = 'y'; } 105 if (awstats_detectIE('PDF.PdfCtrl.6') == 'y') { TRKpdf = 'y'; } 106 } 107 if (TRKns || !TRKwin) { 108 TRKnse = ""; for (var TRKi=0;TRKi<navigator.mimeTypes.length;TRKi++) TRKnse += navigator.mimeTypes[TRKi].type.toLowerCase(); 109 var TRKshk = awstats_detectNS("application/x-director") 110 var TRKfla = awstats_detectNS("application/x-shockwave-flash") 111 var TRKrp = awstats_detectNS("audio/x-pn-realaudio-plugin") 112 var TRKmov = awstats_detectNS("video/quicktime") 113 var TRKwma = awstats_detectNS("application/x-mplayer2") 114 var TRKpdf = awstats_detectNS("application/pdf"); 115 }
116 document.write('<img src="'+awstatsmisctrackerurl+'?screen='+TRKscreen+'&win='+TRKwinsize+'&cdi='+TRKcdi+'&java='+TRKjava+'&shk='+TRKshk+'&fla='+TRKfla+'&rp='+TRKrp+'&mov='+TRKmov+'&wma='+TRKwma+'&pdf='+TRKpdf+'&uid='+TRKuserid+'&sid='+TRKsessionid+'" height=0 width=0 border=0>') 117 118}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.