仅在使用 javascript 的非移动浏览器上插入 Google 实验代码
Insert google experiment code only on non mobile browers using javascript
我目前有一个使用<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 queries
的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...]
}
延伸阅读:
- https://developer.mozilla.org/en/docs/Web/API/Window/matchMedia
- https://developer.mozilla.org/en-US/docs/Web/CSS/Media_Queries/Testing_media_queries
相关文章:
- 为什么浏览器在此样式属性中插入“9”
- 浏览器注释掉使用JS插入的代码
- chrome扩展插件在浏览器操作中插入内容脚本
- 我可以使用或打开'插入'现代浏览器中使用javascript的插入符号
- 在浏览器中更新页面后,动态插入的页面内容将消失
- 如何确定浏览器何时完成绘制插入的元素
- 在内容可编辑元素上按 Enter 时插入 BR 或 P 标签的跨浏览器方式
- 仅在使用 javascript 的非移动浏览器上插入 Google 实验代码
- 如何在浏览器正在加载的页面中插入Javascript
- 插入到 DOM 中的 jQuery 不跨浏览器兼容
- 在Chrome浏览器中使用javascript在网站上插入用户名和密码
- Chrome扩展-插入的Iframe无法访问Chrome浏览器操作或Chrome.tables或AngularJS
- 检测USB设备是否已从浏览器插入Javascript
- 将脚本元素插入浏览器操作页无效
- 如何强制浏览器停止将动态插入的代码解析为HTML4
- 将样式元素动态插入DOM的最后一种跨浏览器方式
- 使用html5将blob从safari浏览器插入sqlite
- 通过浏览器扩展在web上的每个页面的顶部插入一个栏
- 在控制台DOM中插入HTML代码后出现错误(Chrome浏览器)
- 插入css动画浏览器javascript