Is there a console logger for IE? I'm trying to log a bunch of tests/assertions to the console but I can't do this in IE.
相关问题
- Is there a limit to how many levels you can nest i
- How to toggle on Order in ReactJS
- How to fix IE ClearType + jQuery opacity problem i
- void before promise syntax
- Keeping track of variable instances
For IE8 or console support limited to console.log (no debug, trace, ...) you can do the following:
If console OR console.log undefined: Create dummy functions for console functions (trace, debug, log, ...)
window.console = { debug : function() {}, ...};
Else if console.log is defined (IE8) AND console.debug (any other) is not defined: redirect all logging functions to console.log, this allows to keep those logs !
window.console = { debug : window.console.log, ...};
Not sure about the assert support in various IE versions, but any suggestions are welcome.
In his book, "Secrets of Javascript Ninja", John Resig (creator of jQuery) has a really simple code which will handle cross-browser console.log issues. He explains that he would like to have a log message which works with all browsers and here is how he coded it:
There is Firebug Lite which gives a lot of Firebug functionality in IE.
You can use cross-browser wrapper: https://github.com/MichaelZelensky/log.js
Since version 8, Internet Explorer has its own console, like other browsers. However, if the console is not enabled, the
console
object does not exist and a call toconsole.log
will throw an error.Another option is to use log4javascript (full disclosure: written by me), which has its own logging console that works in all mainstream browsers, including IE >= 5, plus a wrapper for the browser's own console that avoids the issue of an undefined
console
.Extremely important if using console.log() in production:
if you end up releasing
console.log()
commands to production you need to put in some kind of fix for IE - becauseconsole
is only defined when inF12
debugging mode.[obviously remove the alert(msg); statement once you've verified it works]
See also 'console' is undefined error for Internet Explorer for other solutions and more details