大家好(也是圣诞快乐),
我刚刚在一个目前尚未上线的网站上工作,我正在尝试考虑安装了Adblock Plus的用户(即修复边距和填充,以便网站的布局不会中断ABP摆脱了持有广告的div。)
目前我的jQuery是:
function detectAdBlock() {
if($('.adsbygoogle').css('display') == 'none') {
$('.adblock').css('display', 'block');
$('.adfail').css('display', 'block');
} else {
$('.adblock').css('display', 'none');
$('.adfail').css('display', 'none');
}
}
$(detectAdBlock);
这适用于Chrome的AdBlock扩展程序,但不会对AdBlock Plus执行任何操作。
我也尝试过使用:
if($('.adsbygoogle').height() == 0) { // Whatever }
但这根本没用。
我知道有广告是有争议的,但我只是在寻找答案,而不是为什么我不应该有广告的争论 - 而且我正在尝试为不这样做的人修复布局看到广告。
感谢任何帮助!
感谢。
答案 0 :(得分:1)
发现问题,不得不使用:
$('.adsbygoogle').is(':hidden'))
对于ABP。所以在if语句中:
function detectAdBlock() {
if($('.adsbygoogle').css('display') == 'none' || $('.adsbygoogle').is(':hidden')) {
$('.adblock').css('display', 'block');
$('.adfail').css('display', 'block');
} else {
$('.adblock').css('display', 'none');
$('.adfail').css('display', 'none');
}
}
$(detectAdBlock);
答案 1 :(得分:0)
我正在尝试考虑安装了Adblock Plus的用户(即修复边距和填充,以便当ABP摆脱持有广告的div时,网站的布局不会中断。)
不要试图检测用户是否安装了Adblock Plus,而是检测您想要解决的负面影响。如果Adblock Plus从DOM中删除了广告,那么请查看该广告是否在DOM中。