【发布时间】: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