Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Common idiom to avoid IE throw: Error: 'console' is undefined

I've installed firebug and I wrote all these log statements.

I've tested my app in IE and of course I've got "undefined" error.

What's the common idiom to avoid this.

I don't really feel like commenting all the console.log statements in my file nor to mock them.

Well I'm not sure what to do.

like image 658
OscarRyz Avatar asked Jul 18 '09 00:07

OscarRyz


2 Answers

i usually make a wrapper function like so:

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

or you could do something like this at the beginning of your script file/element:

if (!window.console) { 
    window.console = {
        log: function(obj){ /* define own logging function here, or leave empty */ }
    };
}
like image 126
Darko Z Avatar answered Oct 14 '22 17:10

Darko Z


Paul Irish has a better wrapper for console.log().

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

This allows multiple arguments, and provides a history (for debugging) in case no console is there or (eg Firebug Lite) the console is created later.

like image 22
Thomas W Avatar answered Oct 14 '22 15:10

Thomas W