如何使用Chrome浏览器扩展程序在devtools控制台中监视和解析输出?

问题描述

我正在构建一个chrome扩展程序,该扩展程序应有助于调试在网站顶部运行的软件。该软件可以启用调试模式,这将导致使用console.log到控制台的大量输出

我想使用chrome扩展程序解析控制台消息,并在UI中显示重要事件,以便更快地进行调试。但是,我没有找到一种简单地通过the API执行此操作的方法我有什么想念的吗?我应该重写console.log函数吗?我将如何去做?

解决方法

有两种方法。

  • page context中覆盖console.log,console.warn等(这很重要!)。有很多示例(这里是random one)。在您的情况下,这将变得更加简单,因为您只需调用原始方法并将参数通过CustomEvent传递到内容脚本(example)中,该脚本就会累积它们。
  • chrome.debugger API与Console.messageAddedRuntime.consoleAPICalled事件一起使用。这将在整个浏览器中显示一条有关调试器处于活动状态的消息栏,除非您通过使用--silent-debugger-extension-api命令行运行chrome在全局范围内将其隐藏起来,但是如果您不小心安装了使用chrome.debugger API的恶意扩展程序,则这样做有些危险。 / li>