Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 浏览器之间window.onerror返回true/false不一致-是否有正确返回值的列表可用?_Javascript_Return_Return Value_Onerror - Fatal编程技术网

Javascript 浏览器之间window.onerror返回true/false不一致-是否有正确返回值的列表可用?

Javascript 浏览器之间window.onerror返回true/false不一致-是否有正确返回值的列表可用?,javascript,return,return-value,onerror,Javascript,Return,Return Value,Onerror,我理解,如果我们不想调用浏览器javascript错误处理程序,window.onerror应该返回的内容之间存在一些不一致 由于我们的站点相当重于ajax,我们需要确保浏览器错误处理程序从未被调用过 我的意思是: window.onerror=function(){ console.log('error captured'); return false; } “return false”部分显然因浏览器而异 有人知道我们可以在什么地方找到一份如何处理浏览器对浏览器的列表吗?这

我理解,如果我们不想调用浏览器javascript错误处理程序,window.onerror应该返回的内容之间存在一些不一致

由于我们的站点相当重于ajax,我们需要确保浏览器错误处理程序从未被调用过

我的意思是:

window.onerror=function(){
    console.log('error captured');
    return false;
}
“return false”部分显然因浏览器而异

有人知道我们可以在什么地方找到一份如何处理浏览器对浏览器的列表吗?这是一种怪癖模式/Canius

或者,如果列表非常小,是否有人知道需要返回哪些值来抑制每个浏览器错误处理程序


谢谢

你的工作很适合你

首先,从
onerror
处理程序返回
true
,而不是
false
。。。想象一下,浏览器正在询问您是否应该停止

接下来,一些浏览器的一些版本就在这个区域。他们只是有时不像广告宣传的那样有效,似乎没有人知道为什么。我见过的最聪明的答案是关于调用堆栈大小变得太大。。。听起来不错

这就是说,这应该可以做到:

<script>
function stopErrors() {
    return false;
}
window.onerror = stopErrors;
</script>

函数stopErrors(){
返回false;
}
window.onerror=停止错误;
以下几个要点:

注意:jQuery错误事件处理程序不应附加到窗口对象。发生脚本错误时,浏览器将触发窗口的错误事件。但是,与传统的事件处理程序相比,窗口错误事件接收不同的参数并具有不同的返回值要求。改用window.onerror

在浏览器触发错误事件之前,必须附加事件处理程序。。。此外,当本地提供页面时,错误事件可能无法正确触发;错误依赖于HTTP状态代码,如果URL使用file:protocol,则通常不会触发该错误


我们最关心的问题如下:。。。在这种情况下,除非在不调用浏览器错误处理程序的情况下处理错误,否则浏览器将导航到/target。。。我们更愿意优雅地(在内部)处理这个问题。您希望出现什么样的错误?代码中的实际语法错误可能会破坏应用程序,或者只是与AJAX请求可能检索到的内容有关的“数据错误”?后者您应该自己在代码中处理,而不是通过window.onerror。我同意cbore,但也不应该执行onclick=“return ajaxTarget()”>go。。。这是一种不好的做法,部分原因是如果出现任何问题,您无法阻止单击。。。相反,使用jquery绑定到click事件,调用event.preventDefault(),然后执行ajax操作。。。。