我可以阻止 Chrome 开发者工具控制台记录图像 404 错误吗?

IT技术 javascript image google-chrome-devtools
2021-01-25 10:34:32

每次找不到页面资产(包括图像)(即返回 404)时,Chrome 开发人员工具控制台都会记录错误。

在我的工作中,我经常在第三方提供图像并且在开发过程中可能无法使用的站点上工作。让每个丢失的图像在控制台中显示为错误会使其他更重要的错误(例如 JavaScript 错误)更难以注意到。

是否有设置可以停止控制台将未找到的图像记录为错误?

或者是否有某种方法可以通过与您可以在“网络”选项卡中过滤请求的条件相同的条件来过滤控制台消息?

(参见例如http://chromium.googlecode.com/issues/attachment?aid=1337330000000&name=Screenshot-Google%2B+-+Google+Chrome.png&token=1F05er8uKjAQEEBrUITFjsIGJ2A%3A1358867878658&inline=1

4个回答

Chromium 团队已经“开始”了这方面的工作:https : //code.google.com/p/chromium/issues/detail? id =96212

更新:该功能请求已于 2013 年 3 月 18 日关闭。我不确定此功能首次出现在哪个 Chrome 版本中,但我可以在我的 Chrome v33.0.1750.152 (Linux) 中确认控制台过滤选项。

更新 2:目前,当输入过滤器(纯文本或正则表达式)时,它会针对消息文本(例如GET http://example.com/foobar 404 (Not Found))以及右侧链接的文本(例如test.html:65)进行测试。(我已经向Chromium提交了一个问题来跟踪这个。)

作为解决方法,请使用正则表达式过滤器,例如:

^(?!.* 404 \(Not Found\))(?!.*[file name])

[file name]右侧链接中的文件名在哪里

例如,如果我的页面是test.html,那么^(?!.* 404 \(Not Found\))(?!.*test\.html)将起作用。

注意:这也将过滤掉消息文本中具有文件名的消息。我不确定现在有没有办法解决这个问题。

更新(2019-06-05):这个表达式将过滤掉我当前版本的Chrome(75.0.3770.80)中的404s:

-/404\s\(Not\sFound\)$/

在处理每个标记之前,过滤似乎首先用空格分割过滤器字符串,但它也会在正则表达式内分割空格,因此\s's 是必要的。

从技术上讲,这将过滤掉以(不区分大小写)字符串“404(未找到)”结尾的任何消息,包括console.log消息。

@Fernando 请查看更新的答案
2021-03-14 10:34:32
谢谢芽的回复。“不”对我有用 :) 有什么方法(现在)使它成为可能?
2021-03-23 10:34:32
@mayankcpdixit 对于这个问题,“是否有一个设置可以阻止控制台将未找到的图像记录为错误?或者是否有某种方法可以通过与您可以在“网络”选项卡中过滤请求的条件相同的条件来过滤控制台消息?当时的回答是,“不,但他们正在努力。” 不喜欢答案不是拒绝投票的正当理由。
2021-03-26 10:34:32
这怎么解决?有可能吗?
2021-04-02 10:34:32
@mayankcpdixit 在控制台选项卡中,有一个带有漏斗图标的按钮(在清除控制台日志按钮旁边)。单击它会显示过滤选项。如果您没有这样的按钮,我建议您确保使用最新版本的 Chrome。
2021-04-04 10:34:32

在 chrome 开发人员工具中,它位于“控制台”选项卡下。单击“过滤器”,它将作为复选框出现在过滤器行上。

我真的希望这件事可以标准化并集成到 javascript 代码中。控制台越来越多地被开发人员使用和调整,似乎已经成为网络功能的一部分。
2021-04-10 10:34:32

作为替代答案,您可以在开发服务器上运行一些 javascript 来更改违规图像的 src 属性(只需确保不要将其发布到您的生产环境!)。

如果你不希望真正的javascript添加到页面(可以理解),你很可能通过镀铬插件(可能是运行在页面加载脚本的Greasemonkey - tampermonkey铬克隆)。

nb 感谢您的反馈,特别是要使其工作,它需要在 dom 准备好之后和图像加载之前发生在一个事件中。

我不会推荐我的技术(感谢 Konrad 的反馈),但如果有更好的事件可以挂钩,那就值得了。
2021-03-13 10:34:32
好点,我在页面加载之前思考 - 所以在 <head> 中,
2021-03-17 10:34:32
with s 尚未加载<head><body><img>您实际上无法做任何事情。src在 之后立即切换<img>是您可以获得的最快速度(这就是我在 jsfiddle 中所做的)。
2021-03-17 10:34:32
我在想也许在 document.ready() 中,但看起来好像为时已晚 - 因为图像可能已经开始下载:jsfiddle.net/AYmsq/5但也许有一些 uber javascript 事件技能的人知道更好要使用的事件(我找不到任何)。
2021-03-29 10:34:32
你测试过吗?在标签之后立即执行onerror='return false;'甚至更改src并不能防止控制台错误:jsfiddle.net/epcB7
2021-03-31 10:34:32

在您的应用程序中,在您的“catch”语句中......在“console.warn”下记录异常......知道它适用于萤火虫。在 Firebug 中,您可以在“警告”选项卡下找到这些“错误”。我想 Chrome 开发者工具也是如此。

实际上前一天做了类似的事情..我的应用程序会因某些错误而停止,因此,我改为使用“try”和“catch”块。我的捕获看起来像: catch (e) { console.warn(e); }

我没有记录异常。Chrome 的开发者工具控制台会自行记录丢失的图像。我的问题的第一句话就是这样说的。
2021-04-12 10:34:32