谷歌Chrome扩展:是否可以获得控制台输出(js错误,console.log等)

时间:2012-10-22 14:27:09

标签: javascript google-chrome google-chrome-extension google-chrome-devtools google-chrome-app

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

是否有可能在Chrome扩展程序popup.html / popup.js或某处获得任何内容?

我有tab对象,我可以以某种方式得到特定的选项卡控制台,或者从chrome控制台中的检查器/ devtool输出错误作为代码中的对象吗?

4 个答案:

答案 0 :(得分:9)

谷歌Chrome控制台无法(现在)获得控制台的输出/内容。

答案 1 :(得分:0)

在popup.js文件中,您只需使用console.log("stuff"),然后右键单击您的扩展程序,然后转到调试器或inspect_element - >控制台,查看输出。

您需要在后台文件中执行以下操作:

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

popup[0].console.log("stuff");

然后只需执行与上述相同的步骤。

有关视图之间互动的更多信息,请参阅:api get viewsanother way to interact between pages.

答案 2 :(得分:0)

似乎有一种在扩展程序中获取控制台输出的方法,尽管它需要使用特殊标志启动Chrome并赋予扩展程序额外的文件读取权限。

  1. SO Answer显示了如何通过使用console.log()启动Chrome来将Chrome的所有操作(包括--enable-logging --v=1字符串)保存到本地文件中
  2. 然后,此SO Answer显示了扩展名如何读取该本地文件。

答案 3 :(得分:-1)

Chrome Extemsion中有三个JavaScript上下文: 内容脚本,Backgrond脚本和弹出窗口。 在每个代码上下文中,您都可以使用console.log()。 即 console.log("I am here");

var tempObject = {'one': 'v_one', 'two', 'v_two'};

console.log(tempObject);

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

中可用