使用JS,如何检测广告拦截器?

时间:2019-05-06 05:27:13

标签: javascript jquery adblock

使用一些简单的javascript,如何检测客户端用户是否正在使用Adblocker?

1 个答案:

答案 0 :(得分:2)

Adblocker会检测称为ads.js的脚本或具有类似名称的脚本,然后将其阻止,以使其无法运行。他们还会检测到具有可疑名称的idclasses,只需将它们从DOM中删除即可。因此,这是一个简单的技巧(下面的说明),可以帮助您检测用户是否使用了adblocker:

<div id="randomDiv">
  <div class="adBanner">
  </div>
</div>

此HTML只是将随机的div放在一个只有一个孩子的页面上,一个空的div的{​​{1}}为class。现在,广告拦截者会将子adBanner视为广告,并将其删除。

使用CSS,我们可以为div .adBanner设置固定的高度和固定的宽度,以便在屏幕上呈现某些内容。

class

此CSS只是为伪造的“ adBanner”元素提供了固定的宽度和高度,我们可以稍后对其进行检查,并将其对用户隐藏。

现在使用jQuery,我们可以检查元素的高度或宽度。我们这样做是因为,如果adblocker要从.adBanner { height: 2px; width: 2px; visibility: hidden; } 中删除此元素,那么高度将不存在。

DOM

我敢肯定还有其他方法可以做到这一点,但这只是其中一种方法。

希望这会有所帮助!