如何实现移动端浏览器不显示 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,下面的广告自然不会展示.间接起到了移动端屏蔽联盟广告的作用.