【问题标题】:ERR_BLOCKED_BY_CLIENT ajax function not working in chromeERR_BLOCKED_BY_CLIENT ajax 函数在 Chrome 中不起作用
【发布时间】:2016-03-16 14:13:56
【问题描述】:

当 Adblock 在 chrome 中处于活动状态时,下面的脚本在 chrome 中不起作用。它在控制台中显示这样的错误

jquery-1.7.2.min.js:4 GET http://example.com/advertisement/mult_select/30 net::ERR_BLOCKED_BY_CLIENT

jquery-1.7.2.min.js:4 POST http://example.com/advertisement/getCategoryFieldsList/30/0 net::ERR_BLOCKED_BY_CLIENT

我也尝试过 anti-adblock-killer.user.js。但是还是不行。

<script>
$(document).ready(function(event){
    
$('.category_1').live('change',function(){

var foo = []; 
var name = [];
$('.category_1 :selected').each(function(i, selected){ 
  foo[i] = $(selected).val(); 
  name[i] = $(selected).attr("myTag");
});

//$('.category_title_0').html(name[0]);
var str = (foo[0]).replace(/\,/g, '');
$(this).parent('div').nextUntil('#tit').remove();
var str2 = $(this).find('option:selected').attr('parent_id');
$.ajax({
url: "<?= site_url('advertisement/mult_select')?>"+'/'+str,
success:function(result)
{
$('.mul-select').append(result);
}
});
$.ajax({
    type: "POST",
    dataType: 'script',
    url: "<?= site_url('advertisement/getCategoryFieldsList') ?>"+"/"+str+"/"+str2,
    success: function(result)
    {
        if($("#"+str2).length > 0)
        {
            $("#"+str2).empty();
            $("#"+str2).nextAll('*').empty();
            $("#"+str2).html( result );
        }
        else
        {
        $('#dynamic_fields_div').append( "<div id="+str2+"></div>" );
        $("#"+str2).html( result );
        }
    } 
});

});

});

【问题讨论】:

  • 我认为 adblock 看到该 url 包含“广告”一词,它认为这是一个广告。网址可以改吗?
  • 不可能。因为大部分函数都使用这个词。但我正在使用 anti-adblock-killer.user.js。有没有其他方法可以解决这个问题?
  • 在 adblock plus 中创建一个规则以允许该域并且它可以工作。如果您的客户需要它,请假设使用 adblock 的客户通常是如果不禁用 adblock,页面中的某些内容将不起作用。您可以检测到 adblock,如果已安装,则向客户显示警报,说“看到页面正常工作,禁用您的 adblock”
  • 如果你在谈论这个:github.com/reek/anti-adblock-killer 我不认为它做你认为它做的事。据我了解,这是您需要放入浏览器(而不是网站)中的脚本,该脚本将使广告阻止对要求您禁用它的网站保持活跃
  • 大家好。感谢您的回复。正如你所说的那样解决了问题。非常感谢:)

标签: jquery ajax codeigniter


【解决方案1】:

正如 cmets 中所述,问题在于 adblock 识别出 URL 中的单词 advertisement 并认为这是一个广告。
许多应用程序都以这种方式工作(例如,卡巴斯基在我拥有的网站上阻止了一个页面,因为它包含 tossban 字样)所以你应该小心你写的 URL 考虑到访问者可能有阻止某些坏词的应用程序。

【讨论】:

  • 被低估的答案...也要小心ad。遇到了一个问题,我的网址包含 ad,并且由于某种未知原因而被阻止。在我找到这个之前花了太长时间寻找。禁用广告屏蔽,然后重试。
  • 这里被低估的答案检查您的微服务没有在其网址中老化广告...
【解决方案2】:

在我的情况下,我在 url 路径上没有名称“advertisement”,但仍然遇到相同的 ERR_BLOCKED_BY_CLIENT 错误。

我通过为 $.ajax() 函数提供 cache: false 选项来解决它。

我在这里留下这条评论,因为它可能对某人有用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-04
    • 1970-01-01
    • 1970-01-01
    • 2014-10-14
    • 2015-06-28
    • 1970-01-01
    • 1970-01-01
    • 2014-04-04
    相关资源
    最近更新 更多