在控制台中抑制 Chrome 的“无法加载资源”消息

IT技术 javascript google-chrome xmlhttprequest google-chrome-devtools
2021-01-22 17:27:02

我正在编写一个脚本,它使用 XMLHttpRequest 来搜索由相对路径定义的文件,尝试根据脚本知道的其他相同域绝对路径解析该相对路径,然后尝试从该解析的文件中加载文件网址。如果我遇到 404,我只是尝试根据另一个绝对路径解析文件的相对路径,然后再试一次。对于这个特定的脚本,遇到 404 完全没问题,但是,我的控制台上到处都是“无法加载资源:服务器以 404(未找到)消息的状态响应,我想抑制它们。”

就我所见,没有要捕获的错误 - 错误情况由 xmlHttpRequest.onreadystatechange 处理程序处理,并且没有 window.onerror。

有没有办法抑制这些消息?

谢谢

3个回答

此功能于去年推出您可以在此处启用它:DevTools-> Settings-> General-> Console-> Hide network messages

在 Chrome DevTools 中隐藏网络消息

另请参阅devtools 文档中的过滤控制台输出其他设置

有谁知道是否有办法从您的 JavaScript 代码中做到这一点?这不会是下游机器的默认设置,问我为什么会有“错误”,我是否能够“解决这个问题”。
2021-03-29 17:27:02

使用console.clear()catch块或错误处理功能。它会在记录后立即在控制台上清除这些请求错误。

请注意

来自 MDN

请注意,在 Google Chrome 中,如果用户在设置中选择了“在导航时保留日志”,则 console.clear() 不起作用。

在 MDN 上阅读更多相关信息

try {
  var req = new XMLHttpRequest();
  req.open('GET', 'https://invalidurl', false);
  req.send();
} catch(e) {
  console.clear();
}

应该记录这个

获取https://invalidurl/ net::ERR_NAME_NOT_RESOLVED

但它会被清除。

@schoinh 似乎我们可以......拦截所有控制台消息......清除控制台......并使其成为现实,无论我们想要它成为什么
2021-03-19 17:27:02
但这会清除控制台中的所有内容,而不仅仅是 404 错误
2021-03-28 17:27:02

不幸的是,这无法完成,因为控制台中的此类消息是由 chrome 本身打印的。压制这种类型的信息已经争论了多年,但共识似乎是这种信息是可取的。