如何在Internet Explorer中使用控制台日志记录?

gro*_*ark 117 javascript console firebug internet-explorer internet-explorer-8

IE有控制台记录器吗?我正在尝试将一堆测试/断言记录到控制台,但我无法在IE中执行此操作.

Cra*_*aig 145

您可以通过启动"开发人员工具"(F12)来访问IE8脚本控制台.单击"脚本"选项卡,然后单击右侧的"控制台".

在JavaScript代码中,您可以执行以下任何操作:

<script type="text/javascript">
    console.log('some msg');
    console.info('information');
    console.warn('some warning');
    console.error('some error');
    console.assert(false, 'YOU FAIL');
</script>
Run Code Online (Sandbox Code Playgroud)

此外,您可以通过调用清除控制台console.clear().

注意:您似乎必须首先启动开发人员工具,然后刷新页面以使其正常工作.

  • 请注意,在IE中,与Firefox不同,如果开发人员工具未处于活动状态,则window.console未定义且调用`console.log()`将中断.始终使用`window.console && console.log('stuff');`来保护您的呼叫 (72认同)
  • 啊,即使它没有Firebug,它仍然足够我所需要的.谢谢! (2认同)
  • IE成功的大时间 (2认同)

Tim*_*own 24

从版本8开始,Internet Explorer就像其他浏览器一样拥有自己的控制台.但是,如果未启用控制台,则该console对象不存在,并且调用console.log将引发错误.

另一个选择是使用log4javascript(完全披露:由我编写),它有自己的日志记录控制台,适用于所有主流浏览器,包括IE> = 5,加上浏览器自己的控制台的包装器,避免了未定义的问题console.


Sim*_*ver 13

如果在生产中使用console.log(),则非常重要:

如果您最终将console.log()命令发布到生产中,则需要对IE进行某种修复 - 因为console仅在F12调试模式下定义.

if (typeof console == "undefined") {
    this.console = { log: function (msg) { alert(msg); } };
}
Run Code Online (Sandbox Code Playgroud)

[明显删除警报(msg); 声明一旦你确认它有效]

另请参阅"控制台"是Internet Explorer的未定义错误,以获取其他解决方案和更多详细信息


Dan*_*olo 9

Firebug的精简版这给了很多的IE Firebug的功能.


dbr*_*rin 5

简单的IE7及以下垫片,保留其他浏览器的行号:

/* console shim*/
(function () {
    var f = function () {};
    if (!window.console) {
        window.console = {
            log:f, info:f, warn:f, debug:f, error:f
        };
    }
}());
Run Code Online (Sandbox Code Playgroud)