处理JavaScript中的Chrome控制台错误(XMLHttpRequest)

时间:2017-12-13 14:55:39

标签: javascript ajax google-chrome-console

因此,超过三天,我一直在搜索如何从控制台隐藏此错误并回应此错误:

  

无法加载资源:net :: ERR_NAME_NOT_RESOLVED

Error image in the Google Chrome's console, that I want to hide and handle

官方Chrome文档都没有帮助。 https://developers.google.com/web/tools/chrome-devtools/console/track-exceptions

我在谷歌搜索中也没有任何技巧。

产生此无法发生的错误的JavaScript

(用于快速测试处理溶液)



<!DOCTYPE html>
<html lang="en">
<head>
<title></title>
</head>
<body>
information: <div id="information" ></div>

<script>
	var httpRequest = new XMLHttpRequest();
	httpRequest.open("GET", "https://sdajfkljsdfk.lt", true);
	httpRequest.onload = function (e) {
		if (httpRequest.readyState === 4) {
			if (httpRequest.status === 200) {
				console.log(httpRequest.responseText);
			} else {
				document.getElementById("information").innerHTML = "Error Unresponsive Domain";
			}
		}
	};

	httpRequest.send(null);
</script>
</body>
</html>
&#13;
&#13;
&#13;

3 个答案:

答案 0 :(得分:1)

现在是2018年10月,仍然没有解决此问题的好方法。

这是Chromium论坛中的活跃话题,最后发布于本月。

https://bugs.chromium.org/p/chromium/issues/detail?id=124534

显然,许多用户确实声称4xx响应码是预期的和有效的,并且通过某种方式至少应“可捕获”。

答案 1 :(得分:-1)

你不能。网络相关错误的原因没有暴露给JS。隐藏起来就像违反同源政策一样。

(如果可能,那么网站可以循环使用专用LAN上使用的名称列表(例如Intranet服务器和IoT设备使用的名称),检测错误并识别LAN上的设备。然后可以用来发动进一步的攻击。)

答案 2 :(得分:-1)

尝试这样做

.gitignore

如果我的答案不够明确,你也可以看看this linkThis one too

<强>更新

您无法从控制台删除一个特定错误。清除它的唯一方法是尝试这样的事情:

httpRequest.open("GET", "https://sdajfkljsdfk.lt", true);
httpRequest.onload = function (e) {
    if (httpRequest.readyState === 4) {
        if (httpRequest.status === 200) {
            console.log(httpRequest.responseText);
        } else {
            document.getElementById("information").innerHTML = "Error Unresponsive Domain";
        }
    }
};
httpRequest.onerror = function (e) {
    document.getElementById("information").innerHTML = "Error Unresponsive Domain";
};
httpRequest.send(null);

我偶然发现了this,但我不知道它是否会对你有帮助。