如何实现移动端浏览器不显示 pc 端的广告
作者:一介布衣
随着移动网络的发展,越来越多的人使用手机等移动端浏览网页办公,那么如果在手机打开页面的时候显示大大的联盟广告,用户体验度会非常差,经过一番研究,用下面的方法实现了移动端浏览器不显示PC端广告。
前一段时间写了一篇博文, 关于微信内置浏览器不显示联盟广告
根据 window.navigator.userAgent 来判断当前浏览器是否是微信内置浏览器
window.navigator.userAgent=='micromessenger'
今天要分享的内容差不多,因为之前只考虑了微信浏览器的适配,回头在移动端浏览器打开站点,发现适配问题.
有的联盟会自动屏蔽移动端,但是有的联盟就不能屏蔽,所以只能手动去判断.
根据浏览器 userAgent 判断来源
安卓设备的的 userAgent 判断
navigator.userAgent.match(/Android/i)
iphone 设备 userAgent 判断
navigator.userAgent.indexOf('iPhone')!=-1
ipad 设备 userAgent 判断
navigator.userAgent.indexOf('iPad') != -1
ipod 设备 userAgent 判断
navigator.userAgent.indexOf('iPod') != -1
再补充下微信内置浏览器的判断方法
function isWeiXin() { var ua = window.navigator.userAgent.toLowerCase(); if (ua.match(/MicroMessenger/i) == 'micromessenger') { return true; } else { return false; } }
屏蔽微信,手机(除 winphone 设备),ipod
if(!isWeiXin()&&!(navigator.userAgent.match(/Android/i) || (navigator.userAgent.indexOf('iPhone') != -1) || (navigator.userAgent.indexOf('iPod') != -1) || (navigator.userAgent.indexOf('iPad') != -1))) { var sogou_ad_id=4767753; //联盟广告计费id } <script src="http://images.sohu.com/cs/jsfile/js/c.js" charset="utf-8"></script> //广告内容加载
如果没有联盟广告计费id,下面的广告自然不会展示.间接起到了移动端屏蔽联盟广告的作用.