仅在使用 javascript 的非移动浏览器上插入 Google 实验代码

Insert google experiment code only on non mobile browers using javascript

本文关键字:浏览器 插入 Google 代码 实验 移动 javascript      更新时间:2023-09-26

我目前有一个使用<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no, maximum-scale=1.0" />使页面响应的网站。

我试图克服的问题是在主页的两个版本上使用谷歌变体测试,但只让人们查看整个网站。

我建议的解决方案是检测浏览器是否是移动设备,如果不显示分析代码:

<!-- 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 -->

有人有什么建议吗?

我建议的解决方案是检测浏览器是否是移动设备,如果不显示分析代码:

一种方法是使用CSS @media queriesjavascript等价物,即

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...]
}

延伸阅读:

  • https://developer.mozilla.org/en/docs/Web/API/Window/matchMedia
  • https://developer.mozilla.org/en-US/docs/Web/CSS/Media_Queries/Testing_media_queries