15

I made a simple Task Manager using local.storage and I'm using console.log to set some variables but with that, the entire task app doesn't work in IE.

Is there any alternative method of doing this?

Here is the fiddle of the working Task Manager in every other browser: http://jsfiddle.net/cRse9c/

jQuerybeast
  • 14,130
  • 38
  • 118
  • 196

2 Answers2

45

If you want to use console.log() and have it not bomb out in IE when the IE debugger is not running, you can place the following in your javascript at the global scope before any console.log() statements execute to give you a dummy console.log() that will keep your console.log() statements from causing errors:

if (!window.console) {window.console = {};}
if (!console.log) {console.log = function() {};}

Of course, if you actually want to see the console.log() output in IE, then you will have to run the IE debugger which will cause console.log() to get defined or use some other debugging environment that defines it.

jfriend00
  • 683,504
  • 96
  • 985
  • 979
  • This question has some other useful info on using `console.log` in production: http://stackoverflow.com/questions/8002116/should-i-be-removing-console-log-from-production-code/15771110 – Zach Lysobey Jun 13 '13 at 19:14
  • @user3388971 - I had to rollback your edit. `var` does not scope to the block level in Javascript and your edit removing `var` so it was an implicit declaration would have not worked in `strict` mode. I changed it to refer to the `window` object. – jfriend00 Apr 22 '15 at 15:42
3

There's no console.log in IE unless you have Firebug light on. It's gonna turn into a undefined method/variable error

More information here: Does IE9 support console.log, and is it a real function?

Community
  • 1
  • 1
corroded
  • 21,406
  • 19
  • 83
  • 132