Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

IE9: Script only works in debugger, but not when NOT debugging

I have some trouble with Internet Explorer's compatibility. I'm building an online tool with massive usage of HTML5 canvas, CSS3 and JavaScript. The program works fine in all major browsers, except for Internet Explorer.

IE9 switched into compatibility mode, so I set

<meta http-equiv="x-ua-compatible" content="IE=9"/>

to force IE to process the page with IE9 standards. IE does no longer fall into compatibility mode, but the script does still not work properly. Some basic functionality as drawing or dragging objects works, but only "half".

What does a programmer do in this case: He starts the debugger. And that's where the magic happens. As soon as I start the IE9 developer tools (with IE9 browser and document mode as well), the script works properly. But how should I debug a script which works fine under debugging conditions, and has errors when not debugging.

Currently, I have no clue what to do. Maybe someone can give me a hint? Thanks a lot!

like image 449
Michael Avatar asked Apr 11 '13 13:04

Michael


1 Answers

IE9 doesn't like console calls, and without showing us any code we can only guess what the issue is. You can either remove any console.log messages or use this snippet before any code is called:

(!window.console) console = {log: function() {}};
like image 117
Prisoner Avatar answered Oct 19 '22 23:10

Prisoner