如何从 Web Inspector 的控制台日志中抑制 chrome-extension:// 输出?

Hen*_*rik 26 logging google-chrome-extensions

我不想禁用我的扩展——毕竟它们是用于开发目的——但我想禁用它们从 Web Inspector 控制台的输出。有没有办法做到这一点?

NB在 StackOverflow上已经提出了一个非常相似的问题,但似乎这个问题及其答案倾向于禁用扩展,这不是我想要的(因为我显然将它们用于开发)——我只是想抑制它们的输出安慰。

在此处输入图片说明

小智 17

Firefox 有一种方法可以将特定扩展的控制台日志记录级别about:config.

Chrome 没有这个功能。您的选择:

  1. 通过右键单击控制台消息行的白色(空白)部分并选择Filter > Hide Messages from foo.js 来过滤掉来自特定源文件的所有消息。如果您愿意,您可以稍后从同一菜单撤消此过滤。Chrome 会记住为您执行此过滤,直到您将其禁用(即使您导航到其他地方或重新启动 Chrome)。
  2. 覆盖一个或多个控制台方法。这种方法只影响当前的脚本上下文。Chrome 扩展程序在它们自己的独立世界中运行,具有自己的窗口对象、全局范围和控制台对象。如果您无法编辑扩展的源代码,则需要在每个扩展的执行上下文中粘贴并运行控制台更改脚本,并且您的修改仅在页面卸载后才有效。您可以使用控制台底部的下拉菜单更改控制台的有效执行上下文<page context>。请注意,页面中的任何框架或 iframe 也有自己的执行上下文,可使用框架下拉菜单访问(最初设置为<top frame>)。


Dar*_*kes 1

添加到@jarodjacob的答案

“右键单击并过滤”方法(右键单击控制台消息的白色空白部分并选择“隐藏来自 X 的消息”)将过滤器添加-url:xxx到过滤器框中,其中包含日志源文件的完整 URL。

但是,过滤器中使用的 URL-url:xxx不必是完整的 URL:-url:chrome-extension://将隐藏源 URL 中包含的几乎所有内容。chrome-extension://这将隐藏来自所有扩展的所有常规日志(由浏览器生成的警告而不是与对象一起记录的警告console不会被过滤)。

同样的行为也适用:过滤器将一直保留,直到手动移除。

(请注意,此行为可能是在发布其他答案后添加的,这意味着当时不可能执行此操作。确切的方法也已更改。)