Javascript Google chrome扩展:是否可以获得控制台输出(js错误、console.log或其他)

Javascript Google chrome扩展:是否可以获得控制台输出(js错误、console.log或其他),javascript,google-chrome,google-chrome-extension,google-chrome-devtools,google-chrome-app,Javascript,Google Chrome,Google Chrome Extension,Google Chrome Devtools,Google Chrome App,我正在开发chrome扩展,我真正需要的是将控制台输出作为对象 在chrome extension popup.html/popup.js或其他地方可以得到这些吗 我有tab对象,我能以某种方式获得特定的tab控制台吗,或者从chrome控制台中的inspector/devtool以代码中的对象的形式错误输出吗?谷歌chrome控制台(现在)不可能获得控制台的输出/内容。在popup.js文件中,您可以使用控制台.log(“stuff”)然后右键单击扩展并转到调试器或检查\u元素->控制台,以查

我正在开发chrome扩展,我真正需要的是将控制台输出作为对象

在chrome extension popup.html/popup.js或其他地方可以得到这些吗


我有tab对象,我能以某种方式获得特定的tab控制台吗,或者从chrome控制台中的inspector/devtool以代码中的对象的形式错误输出吗?

谷歌chrome控制台(现在)不可能获得控制台的输出/内容。

在popup.js文件中,您可以使用
控制台.log(“stuff”)
然后右键单击扩展并转到调试器或检查\u元素->控制台,以查看输出

从背景文件中,您需要执行以下操作:

popup = chrome.extension.getViews('popup'); // this returns an array

popup[0].console.log("stuff");
然后简单地执行与上面相同的步骤


有关视图之间交互的更多信息,请参见:

Chrome Extemsion中有三个JavaScript上下文: 内容脚本、背景脚本和弹出窗口。 在每个代码上下文中,都可以使用console.log()。 即
console.log(“我在这里”)


注意:输出仅在您提到的
console.log('Hello')的代码上下文中可用

似乎有一种方法可以在扩展名中获取控制台输出,尽管它需要启动带有特殊标志的Chrome并授予扩展名额外的文件读取权限

  • 这显示了如何通过使用
    --启用日志--v=1
    启动Chrome,将Chrome的所有操作(包括
    console.log()
    字符串)保存在本地文件中
  • 然后显示扩展名如何读取该本地文件

  • 控制台
    对象在其原型上没有
    dump()
    。未捕获类型错误:对象#没有方法“dump”,因此它似乎只是一个测试版,或者只是可以从网页上获得。我不确定,但在所有代码范围内尝试了这个方法,似乎都不起作用。谢谢你的回答。如果你运行console.log(console.proto),你会发现console对象没有这个功能。完全不是我想要的:),但是还是谢谢你。我需要的是在代码中以对象或字符串的形式获得输出,而不仅仅是亲自查看:)谢谢如果您使用console.log(tab)和tab作为对象,它将显示该对象中包含的所有内容。如果您的选项卡对象有一个tab.error属性,并且您使用了console.log(tab.error),那么它将显示错误。另一方面,我不知道你的意思是什么,因为一切都是javascript中的对象。javascript不是“类型化”语言。当你声明一个变量,然后你真正声明了一个对象,不管你在里面放了什么。console.log(tab)没有任何相应的对象到console,console是chromeapi中的一个附加devtool,我需要和这个devtool谈谈,并将它作为当前tab的对象输出。它没有tab.error对象。感谢您的澄清。但我对对象和输出之间的误导性解释并不影响问题,我需要为代码中的特定选项卡获取console输出对象。你的意思是想捕获任何可能出现在控制台上的错误,然后将其打印到屏幕上吗?当我按扩展按钮时(与打开扩展名popup.html/popup.js时相同)我想获得完整的控制台输出,并对其进行操作,计算错误数,计算警告数,以某种方式解析输出,然后在弹出的html中显示它。但是,这并不重要我将做什么和如何做,因为我自己不确定,但首先我需要获得输出/控制台/日志/错误或我们应该在代码中将其称为对象的任何内容:)附言:谢谢你的帮助:)现在这一定是可能的,对吧?
    var tempObject = {'one': 'v_one', 'two', 'v_two'};
    
    console.log(tempObject);