Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript仅在非移动浏览器上插入google实验代码_Javascript_Responsive Design_Variant - Fatal编程技术网

使用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部分,它正常工作,我只是无法正确放置分析代码。