Oh, the woes of supporting IE6 (or, better put, IE666 — the browser of the beast.)
Halloween is definitely upon us. Today I spent a good chunk of time trying to identify the source of a problem in
which includes Ajax calls and error handling logic.
At some point I needed to pop-up a DIV that was supposed to look like a modal message box,
reporting some error that happened during the Ajax call. That was not hard at all. I used
the SimpleModal plugin and
got the message box up in not time at all.
Not so fast, you have IE6 users
As with many web developers out there, I don't have the luxury of ignoring IE6 users because
they are upwards of 60% of our user base (corporate users that for some reason can't easily
upgrade their browsers.)
I thought it wouldn't be a problem because the SimpleModal plugin handles a number of IE6 issues,
including the insertion of an
IFrame to overcome the bleedthrough of
But of course it couldn't be that easy right?
In some of my tests IE6 was simply crashing when I tried to open the "modal" message. After a lot or hair
pulling, I saw this suspicious HTML in one of my messages:
<table style="font-size: expression(parentnode.currentstyle.fontsize);" >
<!-- rest of the table is normal -->
Sure enough, moving that hack to a proper CSS rule in the external .css file made the error go away.
We shouldn't be using dynamic CSS expressions anyway, since
they were removed from IE8,
so I went ahead and ditched that kind of usage wherever I could find it.
to great lengths to support IE6 and make our coding transparent, nothing substitutes good old manual testing
to make sure IE6 doesn't play pranks on us in production.
10-21-2009 5:16 PM