我有一个页面,里面有几个正在使用的脚本:
<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打印?
答案 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()
功能怎么样?