子鼠首页
 
日 志 搜 索
  
 
自已拿版本号来测试的一个方法___Google Website Optimizer   [ 2009-11-16 | 作者:zishu | 来自:本站原创]

最近发现Google Website Optimizer在IE6中的表现非常不稳定,以前在里边直接写CSS,写JAVASCRIPT,都没有问题,但现在如果在里边写JAVASCRIPT,实际上在IE6中通常不执行!如果这样,测试的数据没有任何意义!

为了修正这个问题,尝试用以前写的一个《服务器端自已分配测试比例进行A/B测试__Google Website Optimizer 》来解决,这样是可以解决的,但是服务器端的部署代码就变得很臃肿,所以,今天想了一个简单的办法,来解决这个问题!

原理:

如果你开启了一个多变量的测试,里边算上原始版本一共2个版本的话,原始版本的最后一位都是0,而其它的会以加入的次序从1开始往后推,如1、2、3……;这样就好办了!只是我们能拿到最后一位就可以知道当前是哪个版本了!

假如我开始了一个实验,实验的ID是2506888888,这时你要吧通过以前作的一个工具:http://www.zishu.cn/s/tool/showOptCookie.php 去GOOGLE的服务拿到一个完整的UTMX COOKIE的值“00005423942506888888:3:0”;从这个值上来看,现在的版本应该是原始版:)

代码:

程序代码
<script>
var testVersion = 0; //默认我们从原始版开始

//取COOKIE的一个方法
function readCookie(name){
 var cookieValue = ""; 
 var search = name + "="; 
 if(document.cookie.length > 0) { 
  offset = document.cookie.indexOf(search); 
  if (offset != -1){ 
   offset += search.length; 
   end = document.cookie.indexOf(";", offset); 
   if (end == -1){
    end = document.cookie.length; 
   }
   cookieValue = decodeURIComponent(document.cookie.substring(offset, end)) 
  } 
 } 
 return cookieValue; 
}
</script>

<script>
var cUtmx = readCookie('__utmx'); //先取到COOKIE
var testKey = '00007078412911612456:3:'; //这里我把最后一位去除了,因为我们不知道当前是哪个版本
var sL = cUtmx.indexOf(testKey); //去COOKIE中看一下这个值有没有,并在哪个位置
if(sL != -1){ 
 sL += testKey.length;
 testVersion = cUtmx.substring(sL, sL+1); //如果有,就拿到一个版本
}
</script>


这样,在客户端,我们只要看testVersion是几就知道当前是哪个版本了!
这样布属起来方便多了,面且不会有IE6中的问题!代码比较粗糙,明白意思就行了!

以前写的关于Google Website Optimizer相关文章:
1、《多目标测试_ Google Website Optimizer 
2、《服务器端自已分配测试比例进行A/B测试__Google Website Optimizer 



无题 好友[淘宝时尚品味小店]开张,友情帮顶一下  

暂时没有评论

发表评论
作者: 用户名:  密码:   同时注册?
评论:

禁止表情
禁止UBB
禁止图片
识别链接
识别关键字
表  情
 
蒙ICP备05000161