0

大家好(还有圣诞快乐),

我刚刚在一个目前还没有上线的网站上工作,我正在尝试解释安装了 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 }

但这根本没有用。

我知道有广告是有争议的,但我只是在寻找一个答案,而不是关于我为什么不应该有广告的争论——而且我正在尝试为那些看不到广告的人修复布局.

任何帮助表示赞赏!

谢谢。

4

2 回答 2

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);
于 2013-12-25T07:56:47.463 回答
0

我试图说明安装了 Adblock Plus 的用户(即修复边距和填充,以便在 ABP 摆脱持有广告的 div 时网站的布局不会中断)。

与其尝试检测用户是否安装了 Adblock Plus,不如检测您想要解决的负面影响。如果 Adblock Plus 从 DOM 中删除广告,则查看广告是否在 DOM 中。

于 2013-12-25T07:37:12.093 回答