PS: if the IE8 in the intranet zone is configured for rendering all intranet as IE7 Compatible, then you are out of luck. You then need to change the IE8 settings.
Reference: http://msdn.microsoft.com/
Main Topics
Browse All TopicsI am using ASP.NET to serve up pages to my IE8 client. I want to force it to work in IE8 mode, but since it is on the Intranet, I get IE8 Compat View instead.
I have tried sending <meta http-equiv="X-UA-Compatibl
I know that I can get MY browser to use IE8 mode by unchecking "Display intranet sites in compatibility view" in the Compatibility View Settings under Tools, but I want ALL IE8 browsers to do this regardless of their settings.
How do I do this?
This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.
Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.
If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.
Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.
Access the answers to your technology questions today.
30-day free trial. Register in 60 seconds.
Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Try it out and discover for yourself.
30-day free trial. Register in 60 seconds.
Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.
PS: if the IE8 in the intranet zone is configured for rendering all intranet as IE7 Compatible, then you are out of luck. You then need to change the IE8 settings.
Reference: http://msdn.microsoft.com/
That is the case for pages on the Internet. I am on an Intranet (my URI doesn't have any dots in it except for the one delimiting the .aspx extension), and IE8 makes an exception for that.
According to http://blogs.msdn.com/ie/a
"There are two cases where select Compatibility View features come pre-configured as part of IE's "smart defaults". For one, sites that map to the Intranet zone display in Compatibility View by default. This allows IE8 to be most compatible with line-of-business applications that expect IE7 behavior. (This can of course be changed by the user as well as configured via Group Policy.)"
Where does your reference say you are out of luck? If you mean "The page is loaded in the Intranet zone and Internet Explorer 8 is configured to pages in the Intranet zone in Compatibility View.", that controls "default" rendering. The whole point is to get past that "default".
If you could find a reference that confirms I am out of luck (which I suspect is true) I would be very grateful!
Oh...your validator link leads to a page for rent.
I think you meant http://validator.w3.org/
ouch, yes, I meant the latter, apologies!
I think we are reading the same pages here. I believe the Microsoft reference page states quite clearly that it is not possible. Let me explain. At some point on the page, they state the following:
That's possibly in the context of "When Internet Explorer 8 encounters a Web page that does not contain an X-UA-Compatible header", assuming the scope of that clause is the section "Controlling Default Rendering" rather than just the paragraph. Why can't they just write their descriptions in nice, readable C# instead of this ambiguous "English"!
Anyway, the phrasing is not clear. Actual experimentation suggests your interpretation is correct, though, but it seems like an insane design choice - why WOULDN'T they allow an intranet to be transitioned slowly on a page-by-page base by respecting the X-UA-Compatible header? It's not like there is expected to be an existing installed base of X-UA-Compatible headers, since this is a new item!
I agree that the phrasing is far from clear. It won't be the first time that I read and reread a text and still didn't get the point. But here, I think it really means what it, well, means.
On the slow transition: their idea is that you should do that on the servers: configure IIS or Apache to send the HTTP header for IE7 compatibility. Then, on a page by page, or site by site basis, you can override this header, either by changing it, or by setting the meta tag in HTML. Of course, this assumes that the IE8 browsers are configured normally.
Not that it helps, but I share your frustration :-)
-- Abel --
Quite nasty indeed. I assume you cannot persuade your network administrator to take this one step higher and use Firefox, Opera, Chrome or Safari instead? Any of these are allegedly safer (and often: reportedly safer), and developing for any of them is easier and quicker then developing for IE.
Well, I assume that's not much of an advice, as all large(r) companies I worked with stick to the oldest available browser by default (IE6), even after major security impacts or even breaches... I think you can be "happy" that you have a company that at least uses IE8 already.
What about configuring the default in the startup script of the users in AD? I can't help with the "how to" of that, but it shouldn't be too hard.
-- Abel --
No, it's pretty hard to convince all our customers (each has our app configured to their own intranet) to switch from IE.....but over 95% of the users are, as you lamented, IE6. Just trying to get IE8 to work to be prepared, but we're probably going to have to warn them to override things on their browsers.
Painful solutions are still solutions, I kept this out a bit hoping there was something less painful.
All I needed to do was...
- Go to the IIS control panel, locate the Intranet and go to properties.
- Under the HTTP Headers tab, add "X-UA-Compatible" as a custom header with the value "IE=8"
It appears to me that the page is being rendered correctly now, in my case following the DOCTYPE in the page which instructs it to render in HTML 4.01 Strict.
Am I missing something? Perhaps MS has released an update to IE8 that forces IE8 to honor the headers from IIS since the original post?
Business Accounts
Answer for Membership
by: abelPosted on 2009-09-02 at 10:34:44ID: 25243453
Basically, if you want that, you do not need to force the header X-UA-Compatible at all. Instead, all you need to do is add a DOCTYPE, the xml header and write the rest of your code in correct XHTML Transitional or Strict.
To test whether your settings are correctly and 100% strict XHTML, test your page with http://w3.validator.org
-- Abel --