使用javascript仅在非移动浏览器上插入google实验代码
我目前有一个网站,它使用使用javascript仅在非移动浏览器上插入google实验代码,javascript,responsive-design,variant,Javascript,Responsive Design,Variant,我目前有一个网站,它使用使页面具有响应性 我试图克服的问题是在两个版本的主页上使用谷歌变体测试,但只让人们查看完整的网站 我建议的解决方案是检测浏览器是否为移动设备,如果不是,则显示分析代码: <!-- Google Analytics Content Experiment code --> <script>function utmx_section(){}function utmx(){}(function(){var k='13292219-1',d=document
使页面具有响应性
我试图克服的问题是在两个版本的主页上使用谷歌变体测试,但只让人们查看完整的网站
我建议的解决方案是检测浏览器是否为移动设备,如果不是,则显示分析代码:
<!-- 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 -->
函数utmx_section(){}函数utmx(){}(函数(){var
k='13292219-1',d=document,l=d.location,c=d.cookie;
if(l.search.indexOf('utm_expid='+k)>0)返回;
函数f(n){if(c){var i=c.indexOf(n+'=');if(i>-1){var j=c。
indexOf(“;”,i);返回转义(c.substring(i+n.length+1,j
我建议的解决方案是检测浏览器是否为移动设备,如果不是,则显示分析代码:
<!-- 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 querys
等效的javascript
,这是
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...]
}
进一步阅读:
我不确定你在问什么,但客户端的浏览器检查不可靠,所以你最好在服务器端处理。我该如何将代码放入?在其他位置,只需将其插入?这是我要尝试的第一件事(在删除
&
之后),是的。这不起作用,它一定与分析代码的构造方式有关。是的,可能是-您是否使用console.log或window.alert运行测试以验证脚本的matchMedia部分是否正常工作?我已经测试了matchMedia部分,它正常工作,我只是无法正确放置分析代码。