我正在构建一个chrome扩展,它应该有助于调试在网站上运行的软件。该软件可以启用调试模式,这将使用console.log
向控制台产生大量输出。
我想使用我的chrome扩展来解析控制台消息,并在UI中显示重要事件,以便更快地进行调试。然而,我看不到简单地使用API来实现这一点的方法。我有什么东西不见了吗?我应该覆盖console.log
功能吗?我该怎么做呢?
有两种方法。
- 在页面上下文中覆盖console.log、console.warn等(这很重要!(。有很多例子(这里是一个随机的例子(。在您的情况下,它会更简单,因为您只需调用原始方法,并通过CustomEvent将参数传输到您的内容脚本(示例(,该脚本将累积参数
- 将chrome.debug API与Console.messageAdd或Runtime.consoleAPICalled事件一起使用。这将在整个浏览器中显示一个关于调试器处于活动状态的消息栏,除非您通过使用
--silent-debugger-extension-api
命令行运行chrome来全局隐藏它,但如果您意外安装了使用chrome.debug API的恶意扩展,这会有点危险