« Dell 宣布召回有问题隐患的电池 | Main | 网络投票机的 Curl 实现 »
August 16, 2006
JavaScript 在网站访问(PV)跟踪分析中的作用与主要实现
|
版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明。 http://windtear.net/archives/2006/08/16/001056.html http://windtear.net/archives/2006/08/16/001056.html JavaScript 在网站访问(PV)跟踪分析中的作用与主要实现 一般大网站的PV(PageView)分析都是通过在页面底部嵌套代码的方式收集收据 AC Nielsen 和 Google Analytics 也是如此 js 在这里起到的作用是收集信息 然后构造新的CGI URL 收集的信息包括: Referer(document.referrer) User-Agent(navigator.userAgent) Cookie(document.cookie) 等 关于 Cookie 相关的处理可能稍多些 要通过 js 获取某一特定 cookie 值的话 需要先通过 indexOf 定位 cookie name 在 document.cookie 的位置 然后通过 .substring 获取 cookie value 设置cookie直接调用 document.cookie= name+"="+value+"; expires=Wed, 23 Aug 2096 10:05:58 GMT; path=/; domain="+domain; 这个过程需要做的事是根据 document.URL 判断出 domain 并做好必要的分拆 为了保持唯一性 一般还会用一些随机数 Math.random().toString() 对一些关键字符还需要做 escape 处理 for(i=0;i<str.length;i++) {if(str.charCodeAt(i)>=0&&str.charCodeAt(i)<=255){en=en+escape(str.charAt(i));} 如果分拆需要考虑 unicode 的 escape 详见 《编码与解码 javascript escaped UNICODE string 的解码 (php&perl)》 其中个别关键的设置信息可能需要容错 if(typeof(uid)=="undefined") ... 最后 document.open() document.write("html code hear") document.close 注意 AddType application/x-javascript .js 部署上需要在相关页面 </body>之前加上 <script type="text/javascript" src="http://domain.name/filename.js"> 为了防止 script 被禁用 一般还会放一个 <noscript><img src="" height="1" width="1" style="display:none" alt=""></noscript> 图片的url设置上做一些技巧 然后收集log 大体如此 有兴趣的话大家可以参考门户网站或Google Analytics等的实现 |
Posted by windtear at August 16, 2006 12:00 AM
Trackback Pings
TrackBack URL for this entry:
http://cgi.windtear.net/cgi-bin/wt-tb.cgi/1056
Listed below are links to weblogs that reference JavaScript 在网站访问(PV)跟踪分析中的作用与主要实现:
» 关于嵌套 js 代码方式收集网站访问信息的一个 cookie 隐私问题 from windtear 追求完美
http://windtear.net/archives/2006/09/07/001078.html 关于嵌套 js 代码方式收集网站访问信息的一个 cookie 隐私问题 比如: <script type="text/javascript" src="http://pv.ipcn.org/ipcn.js"> 首先:跨域嵌套没问题 (看js设置cookie等代码怎么写) 此时 如果js所... [Read More]
Tracked on September 12, 2006 3:20 PM
Comments
Post a comment
【我爱网络】
2007-12-31 23:51 2007年度 ipcn.org/ipchina.org 总结报告
2007-12-31 00:31 vmware gsx server service
2007-12-31 00:15 squid 对 404 302 缓存的相关问题
2007-12-30 14:24 升级到 MovableType 3.3x 并修改 entry_basename 兼容性
2007-12-30 13:52 [php] realip judge 前面补0的ip格式剔除
2007-12-14 16:34 rm -rf * 系统管理员要排查的定时炸弹
2007-12-13 19:03 山西的宽带运营商太过分了 私自窜改dns解析
2007-12-13 16:35 F5 MIB 再学习 唯一性标记用地址的小bug
2007-12-11 22:15 perl 用Spreadsheet::WriteExcel写了个处理/读写excel的小程序
2007-12-11 13:39 perl 变量转义的问题