Is there a way to force IE8 into IE7 compatibility mode using .NET or Javascript?
9 Answers
I might have found it now. http://blog.lroot.com/articles/the-ie7-compatibility-tag-force-ie8-to-use-the-ie7-rendering-mode/
The site says adding this meta tag:
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7">
or adding this to .htaccess
Header set X-UA-Compatible: IE=EmulateIE7
its even simpler than that. Using HTML you can just add this metatag to your page (first thing on the page):
<meta http-equiv="X-UA-Compatible" content="IE=7" />
If you wanted to do it using.net, you just have to send your http request with that meta information in the header. This would require a page refresh to work though.
Also, you can look at a similar question here: Compatibility Mode in IE8 using VBScript
A note to this:
IE 8.0s emulation only promises to display the page the same. There are subtle differences that might cause functionality to break. I recently had a problem with just that. Where IE 7.0 uses a javascript wrapper-function called "anonymous()" in IE 8.0 the wrapper was named differently.
So do not expect things like JavaScript to "just work", because you turn on emulation.
This can be done in IIS: http://weblogs.asp.net/joelvarty/archive/2009/03/23/force-ie7-compatibility-mode-in-ie8-with-iis-settings.aspx
Read the comments as well: Wednesday, April 01, 2009 8:57 AM by John Moore
A quick follow-up. This worked great for my site as long as I use the IE=EmulateIE7 value. Trying to use the IE=7 resulted in my site essentially hanging when run on IE8.