我不想禁用我的扩展程序 — 毕竟它们是用于开发目的 — 但我想从 Web Inspector 中的控制台禁用它们的输出。有办法吗?
注意:有一个非常类似的问题问在 StackOverflow 上,但似乎这个问题和它的答案都倾向于禁用扩展,即不是我想要的(因为我显然用它们来开发)——我只是想压制它们从控制台输出。
答案1
添加到@jarodjacob 的回答:
“右键单击并过滤”方法(右键单击控制台消息的空白部分并选择“隐藏来自 X 的消息”)会-url:xxx
向过滤框添加一个过滤器,其中包含日志源文件的完整 URL。
但是,过滤器中使用的 URL-url:xxx
不必是完整的 URL:-url:chrome-extension://
会隐藏几乎所有的包含chrome-extension://
在源 URL 中。这将隐藏所有扩展的所有常规日志(由浏览器生成的警告而不是与对象一起记录的警告console
不会被过滤)。
适用相同的行为:过滤器会一直保留,直到手动移除。
(请注意,此行为可能是在发布其他答案后添加的,这意味着当时无法做到这一点。具体方法也发生了变化。)
答案2
Firefox 有更改特定扩展的控制台日志记录级别的方法从about:config
。
Chrome 没有此功能。您的选项:
- 右键单击控制台消息行的白色(空白)部分并选择,过滤掉特定源文件中的所有消息过滤 > 隐藏来自 foo.js 的消息。如果您愿意,您可以稍后从同一菜单中撤消此过滤。Chrome 会记住为您执行此过滤,直到您禁用它(即使您导航到其他地方或重新启动 Chrome)。
- 覆盖一个或多个控制台方法。此方法仅影响当前脚本上下文。Chrome 扩展程序在自己的孤立的世界具有自己的窗口对象、全局范围和控制台对象。如果您无法编辑扩展的源代码,则需要在每个扩展的执行上下文中粘贴并运行更改控制台的脚本,并且您的修改仅在页面卸载之前有效。您可以使用控制台底部的下拉菜单更改控制台的有效执行上下文,该下拉菜单显示
<page context>
。请注意,页面中的任何框架或 iframe 也都有自己的执行上下文,可使用框架下拉菜单访问(最初设置为<top frame>
)。
答案3
只是暂时禁用扩展。
这会在您的浏览器中添加一个按钮,只需单击两次即可切换您的扩展程序。