1//<script src="/analytics/analytics.js"></script> 2var my_analytics_logs = {}; 3my_analytics_logs.first = false; 4my_analytics_logs.scroll25p = false; 5my_analytics_logs.scroll50p = false; 6my_analytics_logs.scroll75p = false; 7my_analytics_logs.scroll95p = false; 8my_analytics_logs.last = false; 9$(function() { 10 $(document).ready(function(){ 11 $.ajax({ 12 type:"POST", 13 url:"/analytics/analytics.php", 14 cache:false, 15 dataType:"json", 16 scriptCharset:"utf-8", 17 async: true, 18 data:{ 19 "method": "pageviews", 20 "data": { 21 "cookie": { 22 "all": document.cookie, 23 }, 24 "document": { 25 "referrer": document.referrer, 26 "title": document.title, 27 "url": document.URL 28 }, 29 "location": { 30 "hostname": location.hostname, 31 "pathname": location.pathname 32 }, 33 "navigator": { 34 "language": navigator.language, 35 "platform": navigator.platform, 36 "userAgent": navigator.userAgent, 37 "vendor": navigator.vendor 38 }, 39 "screen": { 40 "width": screen.width, 41 "height": screen.height 42 } 43 } 44 } 45 }); 46 }); 47 48 $(document).on("click", "a", function(){ 49 $.ajax({ 50 type:"POST", 51 url:"/analytics/analytics.php", 52 cache:false, 53 dataType:"json", 54 scriptCharset:"utf-8", 55 async: true, 56 data:{ 57 "method": "clicks", 58 "data": { 59 "cookie": { 60 "all": document.cookie, 61 }, 62 "document": { 63 "referrer": document.referrer, 64 "url": document.URL, 65 }, 66 "location": { 67 "hostname": location.hostname, 68 "href": location.href, 69 "pathname": location.pathname 70 }, 71 "navigator": { 72 "userAgent": navigator.userAgent, 73 }, 74 "log": { 75 "anchor": this.innerHTML, 76 "link": this.href 77 } 78 } 79 } 80 }); 81 }); 82 83 $(document).scroll(function(event) { 84 var pageBottom = $(document).innerHeight() - $(window).innerHeight(); 85 var pageScroll = $(document).scrollTop(); 86 var percentScroll = 0; 87 if (0 != pageScroll && 0 != pageBottom) { 88 percentScroll = pageScroll / pageBottom; 89 } 90 if(pageScroll >= pageBottom) { 91 if (my_analytics_logs.last == true) { 92 return; 93 } 94 my_analytics_logs.last = true; 95 my_analytics_logs.scroll95p = true; 96 my_analytics_logs.scroll75p = true; 97 my_analytics_logs.scroll50p = true; 98 my_analytics_logs.scroll25p = true; 99 my_analytics_logs.first = true; 100 } else if (percentScroll > 0.95) { 101 if (my_analytics_logs.scroll95p == true) { 102 return; 103 } 104 my_analytics_logs.scroll95p = true; 105 my_analytics_logs.scroll75p = true; 106 my_analytics_logs.scroll50p = true; 107 my_analytics_logs.scroll25p = true; 108 my_analytics_logs.first = true; 109 } else if (percentScroll >
109 0.75) { 110 if (my_analytics_logs.scroll75p == true) { 111 return; 112 } 113 my_analytics_logs.scroll75p = true; 114 my_analytics_logs.scroll50p = true; 115 my_analytics_logs.scroll25p = true; 116 my_analytics_logs.first = true; 117 } else if (percentScroll > 0.50) { 118 if (my_analytics_logs.scroll50p == true) { 119 return; 120 } 121 my_analytics_logs.scroll50p = true; 122 my_analytics_logs.scroll25p = true; 123 my_analytics_logs.first = true; 124 } else if (percentScroll > 0.25) { 125 if (my_analytics_logs.scroll25p == true) { 126 return; 127 } 128 my_analytics_logs.scroll25p = true; 129 my_analytics_logs.first = true; 130 } else if (pageScroll >= 800) { 131 if (my_analytics_logs.first == true) { 132 return; 133 } 134 my_analytics_logs.first = true; 135 } else { 136 return; 137 } 138 139 $.ajax({ 140 type:"POST", 141 url:"/analytics/analytics.php", 142 cache:false, 143 dataType:"json", 144 scriptCharset:"utf-8", 145 async: true, 146 data:{ 147 "method": "scrolls", 148 "data": { 149 "location": { 150 "href": location.href, 151 "hostname": location.hostname, 152 "pathname": location.pathname 153 }, 154 "log": { 155 "current_pos": $(document).scrollTop(), 156 "bottom_pos": pageBottom, 157 "elapse": event.timeStamp 158 }, 159 } 160 } 161 }); 162 }); 163}); 164 165if (document.referrer.match(new RegExp('search.yahoo')) || document.referrer.match(new RegExp('google'))) { 166 if (window.history && window.history.pushState) { 167 if (history.state !== 'analytics-browser-backs') { 168 history.pushState('analytics-browser-backs', null); 169 window.onpopstate = function(event) { 170 if (location.hash !== '' || event.state === 'analytics-browser-backs') { 171 return; 172 } 173 $.ajax({ 174 type:"POST", 175 url:"/analytics/analytics.php", 176 cache:false, 177 dataType:"json", 178 scriptCharset:"utf-8", 179 async: false, 180 data:{ 181 "method": "browser-backs", 182 "data": { 183 "location": { 184 "href": location.href, 185 "hostname": location.hostname, 186 "pathname": location.pathname, 187 "inner_height": $(document).innerHeight() - $(window).innerHeight(), 188 "inner_width": $(document).innerWidth(), 189 "scroll_top": $(document).scrollTop() 190 }, 191 } 192 } 193 }); 194 history.back(); 195 } 196 } 197 window.onbeforeunload = function(event) { 198 $.ajax({ 199 type:"POST", 200 url:"/analytics/analytics.php", 201 cache:false, 202 dataType:"json", 203 scriptCharset:"utf-8", 204 async: false, 205 data:{ 206 "method": "organic-unloads", 207 "data": { 208 "location": { 209 "href": location.href, 210 "hostname": location.hostname, 211 "pathname": location.pathname 212 }, 213 } 214 } 215 }); 216 } 217 } 218}
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.