Da *_*i03 -1 javascript jquery adblock
通过一些简单的 JavaScript,我如何检测客户端用户是否正在使用 Adblocker?
广告拦截器会检测调用的脚本ads.js或具有相似名称的脚本,然后阻止它们以使其无法运行。他们还检测具有可疑名称id的 和classesthat 并将其从DOM. 因此,这里有一个简单的技巧(解释如下),可以帮助您检测用户是否正在使用广告拦截器:
<div id="randomDiv">
<div class="adBanner">
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
此 HTML 只是div在您的页面上随机放置一个只有一个子项的随机值,即一个div具有classof的空值adBanner。现在,广告拦截器会将这个孩子视为div广告,并将其删除。
使用CSS,我们可以给它.adBanner class一个固定的高度和固定的宽度,以便它在屏幕上渲染一些东西。
.adBanner {
height: 2px;
width: 2px;
visibility: hidden;
}
Run Code Online (Sandbox Code Playgroud)
这个CSS只是给我们的假“adBanner”元素一个固定的宽度和高度,我们可以稍后检查,并将其对用户隐藏。
现在使用 jQuery,我们可以检查元素的高度或宽度。我们这样做是因为如果广告拦截器从 中删除这个元素DOM,那么高度将不存在。
if ($("#randomDiv").height() > 1) {
console.log("No Adblocker!!");
}
else {
console.log("An adblocker was detected!!");
}
Run Code Online (Sandbox Code Playgroud)
我确信还有其他方法可以做到这一点,但这只是其中一种方法。
希望这可以帮助!!!