我一直在这里查看教程:
https://www.detectadblock.com/
这是他们用来检测Adblock是否启用的Javascript:
if(document.getElementById('APvpIfBTxbcQ')){
alert('Blocking Ads: No');
} else {
alert('Blocking Ads: Yes');
}
如果没有阻止广告,我不需要运行任何代码。
所以,这行对我基本上没有用:
alert('Blocking Ads: No');
要删除该部分并基本执行此操作,我需要更改什么?
if(document.getElementById('APvpIfBTxbcQ') IS NOT SET){
alert('Ads are being blocked.');
}
答案 0 :(得分:1)
如果您使用的是最新的浏览器,则可以执行以下操作:
console.log("Ads blocked: " + (document.querySelector("#ad-id") === null));
console.log("Ads blocked: " + (document.querySelector("#ad-id-2") === null));
<div id="ad-id">Hi</div>
在上面的代码中,ad-id-2
不存在。因此,您基本上可以将其与null
进行比较。
要完全确定,您可能需要检查广告是否真正展示。您可以使用How to tell if a DOM element is visible in the current viewport?
在您的原始代码中,您也可以使用!!
进行确认。
if (!!document.getElementById('APvpIfBTxbcQ')) {
alert('Blocking Ads: No');
} else {
alert('Blocking Ads: Yes');
}
答案 1 :(得分:1)
如果您要测试某事物的反义词是否正确,只需在其前面放置not(!
)符号即可。
if(!document.getElementById('APvpIfBTxbcQ')){
alert('Ads are being blocked.');
}