Open GoogleCodeExporter opened 9 years ago
Incidentally, I wanted you to know that your efforts are greatly appreciated
and I'm in awe of your skills. I'm happy to help with testing, enthusiastic
encouragement, and forgive the "most common browser on the planet" comment - I
admit that this is likely not true as the most common is probably IE6 or
something horrible. =) I personally never use IE but half my users tell me my
game is broken which is terribly depressing.
Original comment by breakdan...@gmail.com
on 22 Aug 2011 at 6:35
Hi,
I'm sorry, I haven't been here for a while. IE9 support should / must work. I
tried to reproduce the problem, but I don't see any problems with IE9 and the
Box2dWeb demo. Are you using an outdated version of IE9? Is your game using an
outdated version of Box2dWeb?
As for your compliments - thank you very much, but keep in mind that my work is
the AS3 to JS compiler, the great physics engine itself was developed by Erin
Catto.
Original comment by Uli.He...@googlemail.com
on 29 Aug 2011 at 11:10
Thanks for the reply! I am using IE (v.9.0.8112.16421) on Win Vista 32 bit.
The current demo at http://code.google.com/p/box2dweb/ breaks IE with a bunch
of errors
Webpage error details
User Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Trident/5.0;
SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 1.1.4322; .NET CLR
3.5.21022; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C)
Timestamp: Mon, 29 Aug 2011 15:58:11 UTC
Message: Object doesn't support property or method 'defineProperty'
Line: 51
Char: 453
Code: 0
URI: http://box2dweb.googlecode.com/svn/trunk/Box2d.min.js
but - and here's the great news: I was able to hunt down version r21
(http://code.google.com/p/box2dweb/source/detail?r=21) and it DOES work with
IE9. Therefore, I must assume that your demo is using either an older version
OR a newer one that accidentally broke IE.
In any case I would never, ever choose to use IE, nor would any gamer, but I
wanted the game to "just work" for everyone including people who are
non-tech-savvy. Don't worry too much about IE - it is the bane of the internet
and needs to be destroyed.
In any case, I will simply never deviate from using r21 and will lock it down
as the version I need to use for my games now and in the future.
Keep up the WONDERFUL WORK! You rock.
P.S. I have a lot of as3 code that I would like to convert to JS. I would be
grateful if you'd kindly post a link to your code conversion utility here as
this would be very handy (even if it does an incomplete job and needs manual
edits to get larger codebases working in JS it would save me a lot of time).
Thanks again! You are awesome! =)
Original comment by breakdan...@gmail.com
on 29 Aug 2011 at 3:53
Hi, thanks for your efforts.
But also revisions newer than r21 should work. I think "not updating" is a bad
solution, since other problems will be fixed in newer versions and performance
improvements are currently under developement.
The diff between r21 and r24 shows changes which aren't related to the
IE9-problem. I also wonder why you get the "Object doesn't support property or
method 'defineProperty'-message, since defineProperty is used in later
revisions as well. I even searched for "Object.definedProperty" in both files
and found it.
http://box2dweb.googlecode.com/svn-history/r21/trunk/Box2d.min.js
http://box2dweb.googlecode.com/svn/trunk/Box2d.min.js
The only idea I have: Your IE9 is maybe switched to compatibility mode on the
Box2dWeb page. Can you verify that? Just hit F12 - the developer tools-window
appears. You can see combo boxes at the top with labels "browser mode" and
"document mode". Please make sure that both are set to "Internet Explorer 9".
I'm sorry, but I can't publsih the compiler at the moment. It's in a horrible
state since I made some design mistakes. Later, quick bug-fixes made it even
worse. I'm currently working on that. But I'm very busy whereby development
progress is very slow. I'll release it at soon as this work is done.
Thanks for your compliments again ;)
Original comment by Uli.He...@googlemail.com
on 29 Aug 2011 at 4:48
You are awesome! You are correct: IE9 goes into stupid "IE8 standards"
compatibility mode on code.google.com but even r30 works great on my game if I
set the doctype of the page:
<!DOCTYPE html>
My game html now reports in the F12 menu: "document mode: IE9 standards".
... and magically everything works great!
Sadly, in viewing source of the google code page it also uses this doctype. So
I'm stumped and have no idea why the demo page is tricking IE9 into going into
IE8 mode... but regardless this is the issue.
Great idea and good catch. This would be very helpful for developers as
something to put right on the front page, since the demo doesn't work but a
custom standards compliant html page does. Tell users to force IE9 to go into
IE9 mode so they don't give up like I did.
Original comment by breakdan...@gmail.com
on 30 Aug 2011 at 12:07
This is the final solution to fix IE9:
<meta http-equiv="X-UA-Compatible" content="IE=9" >
Now box2dweb will always work in all versions.
Original comment by breakdan...@gmail.com
on 30 Aug 2011 at 12:14
"Sadly, in viewing source of the google code page it also uses this doctype.
So I'm stumped and have no idea why the demo page is tricking IE9 into going
into IE8 mode... but regardless this is the issue."
As I said - I don't see that problem on the demo page when using my computer.
But I will add that note.
If "<!DOCTYPE html>" works why do you need "<meta http-equiv="X-UA-Compatible"
content="IE=9" >"
Thanks for your contributions :)
Original comment by Uli.He...@googlemail.com
on 31 Aug 2011 at 9:42
Unfortunately "<!DOCTYPE html>" does not work in all cases (IE sucks, as we all
know) - for example, that is the doctype of code.google.com but
http://code.google.com/p/box2dweb/ does NOT work (multiple error messages in
IE9 on my computer) so the only way to FORCE IE9 to act like IE9 is to tell it
to do so.
The only reliable solution to avoiding IE errors that I have found is this meta
tag:
<meta http-equiv="X-UA-Compatible" content="IE=9">
This is because IE9 uses a really complex and stupid heuristic to "guess"
whether it should pretend to be IE7 or IE8 depending on the content of the html
but as we know box2dweb ONLY works in IE9 and beyond. The meta tag is
mandatory - the doctype is just recommended (and happened to work in my simpler
html page without the meta tag because my html was different). If your html
has both the doctype and the meta tag, it should (hopefully) work for all users.
With this in mind, it would be great if http://code.google.com/p/box2dweb/
could be made to work. =) You might not be able to tweak googlecode's html...
Oh Internet Explorer - why do you hate programmers so much?
Original comment by breakdan...@gmail.com
on 31 Aug 2011 at 10:24
Just for fun, this was the game I made:
http://www.mcfunkypants.com/LD21/
Original comment by breakdan...@gmail.com
on 31 Aug 2011 at 10:33
I can confirm this problem. My app doesn't work in IE9.
I tried to only have one line which include the library in html head tag, this
also causes error in the library.
The demo.html and the example.html files came with the zip package doesn't even
work in my IE9.
I will try the meta tag today.
This is my screenshot of my IE9 error. I am running in IE9 mode not compatible
mode.
http://i52.tinypic.com/3128bo3.png
Original comment by gladiacx...@gmail.com
on 10 Sep 2011 at 11:34
Attachments:
<!DOCTYPE html> does the job for ie. I have also included excanvas.js
Original comment by muhammed...@gmail.com
on 3 Nov 2011 at 4:01
Original issue reported on code.google.com by
breakdan...@gmail.com
on 22 Aug 2011 at 6:30