【问题标题】:How to detect adblock without changing or refreshing URL如何在不更改或刷新 URL 的情况下检测广告拦截
【发布时间】:2019-04-02 15:49:53
【问题描述】:

我正在使用“adframe”库来检测 adblock,它工作得很好。

但是,我在通过 AJAX 加载内容的网页中遇到了问题。

如果访问者在启用了 adblock 的情况下进入此页面,则库会检测到它并且不会显示内容,但如果用户在禁用 adblock 的情况下进入此页面,则会显示内容并通过 AJAX 加载所有未来的内容无论用户在此页面上是否启用广告拦截,都会显示,这是我的问题。

我正在尝试在执行 AJAX 函数时检测同一 URL 中的广告拦截。

Bellow 是其中一项功能……是否可以检测到中间的广告拦截??

function action1(time,id_object)
{
    if(time != -1){
        $("#time_object").html(time);
        time2 = time - 1;
        id_object2 = id_object;
        count = setTimeout('action1(time2,id_object2);', 1000);
    }
    else
    {
        if(id_object != 0)
        {
             clearTimeout(count);
            $('#feedback').modal('show');
            $.ajax({
                async:true,
                dataType: "html",
                type: "POST",
                data: {id_object: id_object},
                contentType: "application/x-www-form-urlencoded",
                url: "site/show_object.php",
                beforeSend:function(){
                    $('#feedback').html(loading);

                },
                success:function(data){
                    $('#feedback').html(data);
                    count = setTimeout('webpage3()',60000); 
                },
                timeout:20000, 
                error:function(){
                location.href= 'webpage4';
                }
            }); 
            return 0;
        }
        else
        {
            next();
        }
    }
}

【问题讨论】:

    标签: ajax adblock


    【解决方案1】:

    添加以下 sn-p 并检查控制台是否有消息

    HTML

    <div id="addBlockerDiv">
        <div class="adBanner" style="background-color: transparent;height:1px;width:1px;">
           &nbsp;&nbsp;&nbsp;
        </div>
    </div>
    

    JS

    window.onload = function(){
         if(document.getElementById("addBlockerDiv").clientHeight > 0) {
            console.log('adblock not present');
        } else {
            console.log('adblock present');
        }
    }
    

    【讨论】:

    • 嗨@front_end_dev,我看到它的方式,你的脚本只有在页面第一次加载或刷新时才能工作,但我的问题是我无法在ajax时检测到adblock内容正在同一个 URL 中加载
    • @user289877 参考这个答案 - stackoverflow.com/questions/33812704/…
    猜你喜欢
    • 2015-02-16
    • 2020-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-25
    • 1970-01-01
    • 2020-09-23
    • 2019-09-23
    相关资源
    最近更新 更多