阻止Firebug显示单个文件的控制台输出

时间:2014-11-20 23:32:36

标签: javascript firebug console.log

我有一个页面,里面有几个正在使用的脚本:

<script src="thirdparty.com/js/foo.js"></script>
<script src="bar.js"></script>

我需要使用console.log()来打印bar.js中的一些东西,但是输出会一直隐藏在所有foo.js打印到我不关心的屏幕上。我无法访问foo.js来对其进行更改并删除它是不可能的。

如何让firebug从foo.js停止控制台打印并继续允许从bar.js打印?

3 个答案:

答案 0 :(得分:2)

在包含foo.js之前,尝试执行以下JS:

var _console = window.console;

window.console = {
  log: function() {},
  dir: function() {},
  .....
}

在这种情况下,你将拥有foo.js的空函数。

在bar.js中,您可以使用 _console

如果这对您来说是可接受的解决方案,您可以考虑其改进。

答案 1 :(得分:1)

“无法访问foo.js”。如果该文件是已发布的文件,那么请向该开发人员说,对已发布文件的调试语句是一个很大的问题。

目前,您无法过滤Firebug中文件中的邮件。见issue 2955。 (对于Firefox内置的DevTools,请参阅bug 905978)但是,您可以在JavaScript文件的第一行使用console.clear()语句来清除以前加载的脚本文件中的控制台消息。

但是,如果它们具有事件处理程序或AJAX函数,则无法保证阻止来自其他文件的其他消息。

PS:也许你在帖子中混合了foo.js和bar.js.您的编码块说bar.js来自第三方,而您在谈论foo.js是罪魁祸首。

答案 2 :(得分:0)

console.clear()来电之前,bar.js中的console.log()功能怎么样?