Javascript 是否可以捕获被客户端阻止的net::ERR\u?
因此,在我们的网站上,我们有各种各样的搜索,其中一些搜索效果良好,并返回适当的结果。但是,其中一些会返回javascript错误: 无法加载资源:在上搜索时,网络::错误\u被\u客户端阻止\u 我的机器 我发现问题在于我在谷歌Chrome上运行AdBlocker,是AdBlocker造成了这个问题。现在我知道我可以关闭AdBlocker,这很好,我已经关闭了,但是有没有办法让我在javascript中捕捉到这个错误,并向用户报告为什么他们没有得到任何搜索结果 理想情况下,我想要的是类似c#try/catch的东西 编辑: 好的,在进行了一些挖掘,并从下面的评论中指出了正确的方向之后,我认为我已经推断出了这个问题,希望这将有助于其他人Javascript 是否可以捕获被客户端阻止的net::ERR\u?,javascript,c#,.net,google-chrome,Javascript,C#,.net,Google Chrome,因此,在我们的网站上,我们有各种各样的搜索,其中一些搜索效果良好,并返回适当的结果。但是,其中一些会返回javascript错误: 无法加载资源:在上搜索时,网络::错误\u被\u客户端阻止\u 我的机器 我发现问题在于我在谷歌Chrome上运行AdBlocker,是AdBlocker造成了这个问题。现在我知道我可以关闭AdBlocker,这很好,我已经关闭了,但是有没有办法让我在javascript中捕捉到这个错误,并向用户报告为什么他们没有得到任何搜索结果 理想情况下,我想要的是类似c#tr
阅读之后,我想用我们目前运行的jQuery版本(1.10.x)无法完成我试图完成的任务,因此我想解决方案是使用新版本的jQuery(2.x),看看我是否能捕捉到错误不幸的是,您无法捕捉到具体的错误消息,但您可以捕获错误本身:
$.ajax({
url: 'http://openx.net',
dataType: 'json',
success: function( data ) {
console.log( "Success:", data);
},
error: function( data ) {
console.log( "Error:", data);
}
});
显然,该示例没有请求JSON,但您可以看到它失败并调用错误处理程序
例如,当像Adblock这样的插件(如您所述)取消请求时,Chrome就会触发这些错误 如果您有任何广告拦截器,请为URL禁用它们。可能的重复:由于网络请求会出现这种情况,如果是XHR,您可以检测到故障。如果它是一种资产,那么它就有点困难。这是Chrome通过指令阻止某些请求。因此严格来说,它不是XHR,而是使用$.getJSON()发送请求并检索结果。我在这里看了一下:看起来我必须更改请求的发送方式……但是该链接显示您可以使用
.error(function(){alert(“error”);}
处理错误()。。在这种情况下,这对您不起作用吗?如果您希望从浏览器中捕获该错误,很遗憾,这是不可能的。您只能收到一般错误消息。不幸的是,我没有尝试.error(function(){alert('error');})
和.onerror(函数(){alert('error');})代码>两者都返回javascript错误不是函数我已经尝试过了,但是我没有得到任何输出到控制台:$.ajax({type:'get',url:url,contentType:'application/json',dataType:'json',success:function(data){//do stuff},error:function(err){console.log(“error:,err);})代码>我已经让它工作了。确保广告块已打开,错误将出现在控制台中。我是gunna,请将此标记为已回答,因为您的链接对我有效,我的代码中显然缺少某些内容,希望我能找到它!谢谢你!请注意:这对jQuery 1不起作用。x:net::ERR_CONNECTION_TIMED_OUT是不同的,而不是控制台响应。问题是如何捕获此错误,而不是避免它。