我使用此代码检测广告拦截器Ghostery:
<script>
var request = new XMLHttpRequest();
request.onreadystatechange = function() {
if(request.readyState === 4 && request.status === 200 ) {
console.log('No blocker');
}
else if(request.readyState === 4 && request.status === 0){
window.location.href = 'http://';
}
};
request.open("GET","http://xx.net/pop.js");
request.send();
</script>
在Chrome上运行良好但在Firefox上没有。
一些想法?
答案 0 :(得分:0)
当readyState发生变化时,您应该会看到正在发生的事情(即,如果正在发生变化)。注意readState和状态。基于此,您可以添加更多函数以便为不同的场景调用。
request.onreadystatechange = function(){
console.log(this);
}
当readyState为4且状态为200或0时,您只定义了事件。可以返回许多其他状态。确保你为所有人做好了准备。
答案 1 :(得分:0)
我已经用这种方式解决了:
<script>
$.ajax({url:"http://xx/pop.js",
error: function() {
window.location.href = 'http://';
}});
</script>
如果Ghostery阻止弹出窗口的网址,则会显示&#34; AdBlock Detected&#34;显示出来了。
这适用于Firefox + Ghostery。