Oh, the woes of supporting IE6 (or, better put, IE666 — the browser of the beast.)
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 --> </table>
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.