Ajax请求和Firefox + Ghostery

时间:2015-12-18 17:39:16

标签: javascript jquery ajax firefox

我使用此代码检测广告拦截器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上没有。

一些想法?

2 个答案:

答案 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。