避免IE抛出的常用习惯用法:错误:'console'未定义

时间:2009-07-18 00:38:23

标签: javascript console firebug undefined

我已经安装了firebug并编写了所有这些日志语句。

我在IE中测试了我的应用程序,当然我有“未定义”错误。

避免这种情况的常见习惯是什么?

我真的不想在我的文件中评论所有的console.log语句,也不想模仿它们。

嗯,我不知道该怎么办。

2 个答案:

答案 0 :(得分:10)

我通常会像这样制作一个包装函数:

function log(obj) {
    if (window.console && console.log) console.log(obj);
}

或者您可以在脚本文件/元素的开头执行类似的操作:

if (!window.console) { 
    window.console = {
        log: function(obj){ /* define own logging function here, or leave empty */ }
    };
}

答案 1 :(得分:1)

Paul Irish为console.log()提供了更好的包装。

http://paulirish.com/2009/log-a-lightweight-wrapper-for-consolelog/

这允许多个参数,并在没有控制台的情况下提供历史记录(用于调试)或者(例如Firebug Lite)稍后创建控制台。