使用一些简单的javascript,如何检测客户端用户是否正在使用Adblocker?
答案 0 :(得分:2)
Adblocker会检测称为ads.js
的脚本或具有类似名称的脚本,然后将其阻止,以使其无法运行。他们还会检测到具有可疑名称的id
和classes
,只需将它们从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
我敢肯定还有其他方法可以做到这一点,但这只是其中一种方法。
希望这会有所帮助!