top | item 823923

IE6 Cheatsheet: How To Fix Internet Explorer 6 Bugs

126 points| amackera | 16 years ago |virtuosimedia.com | reply

36 comments

order
[+] billybob|16 years ago|reply
"The best strategy for dealing with Internet Explorer 6 is not to support it."

Amen.

[+] jsm386|16 years ago|reply
That is the easiest strategy, but the author doesn't mean it, and the entire collection of info backs that up. He even says so a few lines later:

"This isn't one of those rants about IE6 or a campaign to try to kill it. There are enough of those around the web, but they don't help if you need to support IE6 because it still has a significant enough marketshare that you can't ignore it for business reasons. No, this is the resource you've been hoping for."

But yes, I'd love not to support IE6 in all of my work, but that's just not happening...yet.

[+] wenbert|16 years ago|reply
In some cases this is impossible. I work for a company that uses a lot of internal applications that depend on old IE. Asking them to switch to Firefox is like asking them to shoot themselves in the head. A sad reality.
[+] warfangle|16 years ago|reply
Noticed this site was causing firefox to hang for about a minute and peg my CPU, so I profiled it:

The Addthis script you're using has an onReady method that gets called 94 times on pageload and takes an average 12 seconds to run each time. During this time Firefox gets the dreaded beachball/umbrella.

I'm having similar issues on a site we're using sharethis on, but not quite that bad on page load - it does increase the constant load on the cpu by about 15% though.

Be careful when using these widgets...

(macbook pro; 2.4ghz; 4gb ram; ff 3.0)

[+] NathanKP|16 years ago|reply
I didn't have any problem opening it Safari. ;)

Edit: I just tried it in Firefox 3.5.2 and no problem either.

I'm running Mac OS X Snow Leopard on a Macbook 2ghz duo, 2gb ram.

Possibilities: It could be Firefox 3.0, try updating. Or it might be the 64 bit power of Snow Leopard that makes it faster for me. But then again Firefox is still a 32 bit application.

[+] twohanded|16 years ago|reply
Was just wondering - what did you use to profile the page? Anything besides just firebug? I'm interested because we use AddThis as well, and I've noticed our site seems slow lately...
[+] makecheck|16 years ago|reply
If there's a culture that refuses to upgrade software, then the solution requires both the education of those who are not upgrading, and the solutions to let them do it. For example, present the relative costs of staying put (mainly risk to the business, e.g. several million dollars a few years from now if everything breaks), against the costs of hiring someone to fix it. Bring in the people who could fix it, and find some quotes.

In other words, the people who made the irresponsible decision to stick with old software should have to cover the cost of fixing it. Every site on the Internet should not continue to cover this cost for them.

[+] Jasber|16 years ago|reply
Another interesting one I've stumbled on is the underscore hack. This is a way to apply CSS only to IE 6: http://designpepper.com/2008/01/09/defeating-ie6-with-emphas...

#page { background-color: white; _background-color: black; }

This applies background-color black to IE 6 only, and white to everything else.

[+] run4yourlives|16 years ago|reply
You shouldn't really be including hacks straight into your main css. The main reason being that you have no idea how future browsers will handle the hack because is basically undocumented, and this might cause you - or your client - grief in the future.

Include a new stylesheet via conditional comments and you can isolate any IE browser while not needing any hacks. (i.e., you can just declare the background color directly)

[+] sanj|16 years ago|reply
Has anyone explored using user agent sniffing to serve up completely different pages for IE6? Create a set of simple vanilla pages (much like you might for mobile) that are independent so that you don't mess up modern browsers with the hackery.
[+] warfangle|16 years ago|reply
Don't need to. You can include completely different stylesheets and javascript files simply with IE conditional comments (IE parses what's in them based on simple rules like, version >= 7; all other browsers ignore them as comments): http://www.javascriptkit.com/howto/cc2.shtml

If you code to standards and follow unobtrusive / degradable javascript patterns, your site should work without stylesheets and javascript anyway :)

[+] NathanKP|16 years ago|reply
What a useful cheatsheet! Its just too bad that it is so useful. IE6 should have died long ago, forever replaced by Firefox.
[+] RyanMcGreal|16 years ago|reply
At this point I'd be willing to live with "...forever replaced by IE8".
[+] theone|16 years ago|reply
Really a nice compilation.. thanks for the effort
[+] _ck_|16 years ago|reply
Best single IE6 CSS cheat for 90% of my problems:

  zoom:1
Learn it, love it, use it.

It makes IE use its old renderer calculations (hasLayout) for whatever element you put it on, so it often fixes disappearing items, incorrect overflow, floats, padding/spacing etc. If your style looks correct in other browsers, give zoom:1 a shot on IE6 and see if it fixes things before wasting another minute.

ps. For those that are validation crazy, there are other triggers for hasLayout that will validate (certain padding, margins, etc.) but they vary from element to element, whether they have ancestors, etc. and you'll waste a great deal of time figuring them out.

[+] pbhjpbhj|16 years ago|reply
Zoom is not a W3C standard though ...
[+] joubert|16 years ago|reply
1. Upgrade.
[+] DrJokepu|16 years ago|reply
I must mention that the main reason IE6 is still around is because XP is still around.