Wednesday, July 29, 2009

Emulate IE8 as IE7

IE8 has come up with many updates that might affect your existing application/website design. So if you really running out of time and need to fix these issues as soon as possible then what you could do is actually inserting a meta tag in head section and asking your IE8 to render the page as IE7 or any other IE version.
<meta http-equiv="X-UA-Compatible" content="IE=…." />
There are two ways of using this meta tag:
  1. <meta http-equiv="X-UA-Compatible" content="IE=7"/> 

  2. <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7"/>
IE=7 : Display in IE7 Standards mode; Already supported in the IE8 Beta 1 release
IE=EmulateIE7 : Display standards DOCTYPEs in IE7 Standards mode; Display quirks DOCTYPEs in Quirks mode;
There are two ways to implement this tag:
  • On a per-site basis, add a custom HTTP header
X-UA-Compatible: IE=EmulateIE7
  • On a per-page basis, add a special HTML tag to each document, right after the tag
Implementing the HTTP header is beneficial if a site owner wants most of their site to render as it did in IE7 or if there are no plans to update site content. Inclusion of this header honors any Quirks mode pages that belong to the site.
Using the meta-tag on a per-page basis is beneficial when the publisher wants to opt-in specific pages to render as they did in IE7.
NOTE: The X-UA-Compatible tag and header override any existing DOCTYPE. Also, the mode specified by the page takes precedent over the HTTP header. For example, you could add the EmulateIE7 HTTP header to a site, and set specific pages to display in IE8 mode (by using the meta-tag with content=”IE8”).
Using the IE=EmulateIE7 compatibility tag is a simple way for users to continue their current experience when browsing your site until you can update with more standards-compliant content.
Useful resources:
http://msdn.microsoft.com/en-us/library/cc288472%28VS.85%29.aspx