Javascript 您能否以编程方式访问Firebug控制台输出?

Javascript 您能否以编程方式访问Firebug控制台输出?,javascript,console,firebug,Javascript,Console,Firebug,是否可以通过编程方式访问以前记录的Firebug输出 例如: console.log('a'); console.log('b'); console.log('c'); for (var i = 0; i < console.output.length; ++i) { alert(console.output[i]); // "a", "b", "c" } console.log('a'); console.log('b'); console.log('c'); 对于(变量i

是否可以通过编程方式访问以前记录的Firebug输出

例如:

console.log('a');
console.log('b');
console.log('c');

for (var i = 0; i < console.output.length; ++i) {
    alert(console.output[i]);  // "a", "b", "c"
}
console.log('a');
console.log('b');
console.log('c');
对于(变量i=0;i
请参阅。(并非完全相同,但相关)

我还没有找到读取控制台输出的方法,但是如果您感兴趣的只是捕获::log()消息,那么可以重写.log()方法,或者创建自己的方法,将日志消息写入另一个容器,然后调用.log()

当然,所有Firebug对象(控制台等)都存在于DOM中,因此您可以跟踪控制台窗口的ID并直接检索内容

更新


,它可以提供一种拦截错误等的方法。

无需包装
窗口。console
您自己,我认为这是不可能的。从源代码来看,当调用Firebug的
控制台
方法(在主文档中运行,因此没有特权)时,它会在主文档中留下一些对象,然后引发自定义事件。在privileged plug-in land中运行的Firebug侦听器会拾取事件,吞下文档中留下的对象,并向控制台面板添加适当的内容,控制台面板是浏览器chrome的一部分,因此主窗口中运行的JavaScript无法访问


我可能在细节上错了,因为我只是粗略地看了一下Firebug源代码,很少做Firefox插件开发,但我认为这大体上是正确的。

Paul Irish为console.log创建了一个包装器,应该可以解决您的问题,看一看。

哈哈。。。我没有注意到。我在那一点上比你高。不过,我认为值得在Firebug列表上打开一个问题,或者在Firebug运行的情况下探索DOM以找到console对象的内部。最好捕获错误输出,等等。链接已断开unfortunately@Sebas这是在我意识到应该将相关内容粘贴到答案之前。我会看看是否能找到缓存版本。
var myLogStr='';

function myLog(str)
{
  if(console) console.log(str);
  myLogString+=str+'\n';
}