js脚本怎么检查页面中广告是否被adblock屏蔽

发布时间:2020-04-28编辑:脚本学堂
本文介绍了javascript检查页面上广告是否被adblock屏蔽的方法,利用js检测div的名称和样式名称实现,效果不错,一起来了解下。

js脚本检查页面中广告是否被屏蔽

js检查页面上的广告是否被屏幕,利用js检测div的名称和样式名称实现相关功能。

火狐浏览器和谷歌浏览器里都有能够屏蔽页面给广告的插件,最有名的是adblock和adblock plus。
做一个统计,看看浏览网站的用户中有多少人使用了adblock插件,发现这个数目竟然有总浏览人数的1/5。
1/5是一个不小的数目。

如何能让广告位在这1/5的使用了adblock插件的用户的页面上用其它图片代替呢?

首先,判断当前浏览器是否使用AdBlock插件。

AdBlock对“Ad”或“Google AD”这样的词非常敏感,只要是某个页面元素的ID或css class名中有“Ad”字样的,这个元素基本上都会被AdBlock插件屏蔽掉,也就是 display:none:

代码:
 

<div class='google-ad testAd'> 这个div将会被屏蔽掉 </div>
 

于是可以使用javascript发现当前浏览器是否开启了AdBlock插件。

首先,将Google广告代码放到一个div里,并且将div的css class name里放入一个很明显的表示google AD的类名:
 

<div class='google-ad testAd'> 这里放置Google广告代码</div>

然后,在页面底部用Js检测,:
 

if ($('.google-ad').height() == 0) showOtherImage();

问题二,Google的广告通常是指Dom加载完毕后显示的,为了保证在Google广告加载完成后再进行探测,要给js代码加入延迟执行特征,这样避免了误检测:
 

$(function(){
   setTimeout(function(){
  if ($('.google-ad').height() == 0)
   showOtherImage();
  },3000);
});
 

这里的showOtherImage();方法中可以放一些京东、当当、亚马逊会其它网站的促销图片和链接,通过获取佣金,多少算是对损失的一点弥补。