A JavaScript script only works on Internet Explorer when the Internet Explorer Developer Toolbar is visible

nerc picture nerc · Jul 31, 2011 · Viewed 7.3k times · Source

I got a script working on Firefox 5 but not with Internet Explorer 9. When I just open the Internet Explorer Developer Toolbar addon and try the same actions as before - it works. There is other JavaScript code on the page which is working, so it is just a part that isn't.

Is there something like the developer toolbar changing any options of Internet Explorer while running?

Answer

T.J. Crowder picture T.J. Crowder · Jul 31, 2011

Without your having quoted any code, one has to guess.

My guess is that you're using console.log (or one of the other console methods) in your code. On IE8 and IE9, the console object doesn't exist until/unless the developer tools are open. Strange but true.

You should be getting script errors along the lines of "console is undefined" when you don't have the dev tools open.

Because of this, and because console doesn't exist in every browser (certainly not IE6 or IE7, which still combined make up about 18% of the general browsing users), it's best not to include them in production code or to check proactively that console exists before using it.