【发布时间】:2017-03-24 11:09:41
【问题描述】:
因此,在我们的网站上,我们进行了各种搜索,其中一些可以正常工作并返回适当的结果。然而,其中一些返回 javascript 错误:
在我搜索时加载资源失败:net::ERR_BLOCKED_BY_CLIENT 我的机器。
我发现问题是我在 Google Chrome 中运行 AdBlocker,而导致问题的正是 AdBlocker。现在我知道我可以关闭 AdBlocker,这很好,我有,但是有没有办法让我在 javascript 中捕捉到这个错误并向用户报告为什么他们没有得到任何搜索结果?
理想情况下,我追求类似于 c# try/catch 的东西。
编辑: 好的,所以经过一番挖掘并从下面的 cmets 中指出正确的方向后,我想我已经推断出了这个问题,希望这对其他人有帮助。
在阅读this 之后,看起来我想要完成的工作无法使用我们当前运行的 jQuery 版本(1.10.x)来完成,所以我想解决方案是使用新版本的 jQuery(2 .x) 看看我能不能捕捉到错误
【问题讨论】:
-
可能重复:stackoverflow.com/questions/27277656/… 由于网络请求会发生这种情况,如果它是 XHR,您可以检测到故障。如果它是一种资产,那就有点困难了。这是 Chrome 通过指令阻止某些请求。
-
所以它不是严格意义上的 XHR,它使用 $.getJSON() 发送请求并检索结果。我在这里看了看:stackoverflow.com/questions/1740218/… 看来我将不得不更改请求的发送方式...
-
但是该链接显示您可以使用
.error(function() { alert("error"); })处理错误 (stackoverflow.com/a/5553540/966338)。在这种情况下这对您不起作用吗? -
如果您希望专门从浏览器中捕获该错误 - 不幸的是,这是不可能的。您只会收到一般错误消息。
-
很遗憾没有,我试过
.error(function() { alert('error'); });和.onerror(function() { alert('error'); });都返回javascript错误而不是函数
标签: javascript c# .net google-chrome