问题描述
我正在构建一个chrome扩展程序,该扩展程序应有助于调试在网站顶部运行的软件。该软件可以启用调试模式,这将导致使用console.log
到控制台的大量输出。
我想使用chrome扩展程序解析控制台消息,并在UI中显示重要事件,以便更快地进行调试。但是,我没有找到一种简单地通过the API执行此操作的方法。我有什么想念的吗?我应该重写console.log
函数吗?我将如何去做?
解决方法
有两种方法。
- 在page context中覆盖console.log,console.warn等(这很重要!)。有很多示例(这里是random one)。在您的情况下,这将变得更加简单,因为您只需调用原始方法并将参数通过CustomEvent传递到内容脚本(example)中,该脚本就会累积它们。
- 将chrome.debugger API与Console.messageAdded或Runtime.consoleAPICalled事件一起使用。这将在整个浏览器中显示一条有关调试器处于活动状态的消息栏,除非您通过使用
--silent-debugger-extension-api
命令行运行chrome在全局范围内将其隐藏起来,但是如果您不小心安装了使用chrome.debugger API的恶意扩展程序,则这样做有些危险。 / li>