2016-02-05 38 views
2

我目前有一個網站使用<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no, maximum-scale=1.0" />來使頁面響應。僅在使用javascript的非移動瀏覽器上插入Google實驗代碼

我想克服的問題是在兩個版本的主頁上使用谷歌變體測試,但只有人查看完整的網站包括在內。

我提出的解決辦法是檢測瀏覽器是否爲移動設備,如果沒有顯示解析代碼:

<!-- Google Analytics Content Experiment code --> 
<script>function utmx_section(){}function utmx(){}(function(){var 
k='13292219-1',d=document,l=d.location,c=d.cookie; 
if(l.search.indexOf('utm_expid='+k)>0)return; 
function f(n){if(c){var i=c.indexOf(n+'=');if(i>-1){var j=c. 
indexOf(';',i);return escape(c.substring(i+n.length+1,j<0?c. 
length:j))}}}var x=f('__utmx'),xx=f('__utmxx'),h=l.hash;d.write(
'<sc'+'ript src="'+'http'+(l.protocol=='https:'?'s://ssl': 
'://www')+'.google-analytics.com/ga_exp.js?'+'utmxkey='+k+ 
'&utmx='+(x?x:'')+'&utmxx='+(xx?xx:'')+'&utmxtime='+new Date(). 
valueOf()+(h?'&utmxhash='+escape(h.substr(1)):'')+ 
'" type="text/javascript" charset="utf-8"><\/sc'+'ript>')})(); 
</script><script>utmx('url','A/B');</script> 
<!-- End of Google Analytics Content Experiment code --> 

有沒有人有什麼建議?

+0

我不確定你在問什麼,但在客戶端的瀏覽器檢查是不可靠的,所以你最好處理它的服務器端。 – A1rPun

回答

0

我所提出的解決方案將是,以檢測瀏覽器是否是移動設備,並且如果未顯示的解析代碼:

一種方法是使用javascript等效CSS @media queries的,這是

window.matchMedia(); 

標準的CSS @media query檢測移動瀏覽器可能是:

@media only screen and (min-device-width:320px) and (max-device-width:480px) 

javascript相當於是:

window.matchMedia("(min-device-width:320px) and (max-device-width:480px)"); 

所以你可以有這樣的:

var screen320x480 = window.matchMedia("(min-device-width:320px) and (max-device-width:480px)"); 
var screen320x568 = window.matchMedia("(min-device-width:320px) and (max-device-width:568px)"); 

if ((screen320x480.matches) || (screen320x568.matches)) { 

[...CODE HERE...] 

} 

else { 

[...DISPLAY ANALYTICS CODE HERE...] 

} 

延伸閱讀:

+0

如何將代碼放入?其他位,只是把它放進去? –

+0

這是我第一次嘗試(在刪除''後),是的。 – Rounin

+0

這不起作用,它必須與分析代碼的構建方式有關。 –

相關問題