2520天 Mr.贰呆

唯一自信的就是自己的人品。
寻求王者玩家一起开黑净化峡谷环境​​

【Javascript】判断网页广告是否被浏览器拦截屏蔽

发布于 / 3561 次围观 / 0 条评论 / HTML5 / 二呆 /
    本来现在投广告赚钱也不像前几年好做,现在还大部分浏览器都拦截了广告,很多浏览器还是默认拦截广告,做站长不是一般辛苦啊!目前中小站长大部分收入还是靠广告,广告被拦截,收入自然会大大减少。

    目前大部分浏览器的广告拦截规则都是广告黑名单+一些广告字眼匹配,比如百度联盟、搜狗联盟、Google联盟这些就算在广告黑名单里的,一般广告过滤都会过滤掉这些广告联盟代码。剩下的就是广告字眼匹配,比如js地址包含ads.php、ad.js甚至是gg.js都可能会被过滤,360浏览器甚至会把包含ad.gif、960x90.jpg带有广告字眼的图片地址都会屏蔽掉。如果我们自己投放自定义的广告,一定要尽量避免这些广告字眼。

    面对广告被拦截,让浏览器把你的网站加入白名单,不可能!让浏览器取消广告拦截功能更不实际。我们只能是尽量减少损失了,下面火端网络写了个JS判断网页广告是否被浏览器拦截过滤的代码,经过使用多款浏览器测试,基本上都能准确判断。这样我们可以通过判断,然后提示用户关闭广告拦截功能,或者用自定义广告替换原来的广告,再或者来个狠点的直接让用户无法访问(不建议这样做)。

以上是百度得到的结果,说的很对,并且通用Javascript判断网页广告是否被浏览器拦截屏蔽的代码如下:

  1. <script src="http://52hl.wang/templates/default/adview_pic_cpc_cpm_cpa_guanggao_gg_ads_300x250.js" type="text/javascript"></script>   
  2. <script type="text/javascript">   
  3. if (typeof(killads)=='undefined'){alert('广告被过滤');}   
  4. </script>  

以上的alert('广告被过滤');  可以换成你想要实现的结果,比如跳转到另一个界面或者更改某布局的css样式等。

需要注意的是,如果用的其他联盟的广告,而且这家广告也可以被浏览器屏蔽,那么引用的那个js链接就不适用了,需要自己更改js链接的文件名,并且要把js文件里的代码添加上这家广告联盟的代码,这样就可以模仿这家广告联盟,而且也能在其中添加标志变量,之后的步骤就和以上一样了。

另一种百度的方法不太管用,不过也发出来吧。就是在广告代码的父布局上添加js,其代码如下:

  1. $(function(){   
  2.     setTimeout(function(){   
  3.     if ($('.view_box').height() == 0){   
  4.         alert('广告被过滤');   
  5.         $(".clickBrowse").removeAttr("onclick");   
  6.       }   
  7.   },3000);   
  8. });  

至于怎么判断,思路是这个思路,但还是要靠自己的聪明才智,嘿嘿~

sitemap