问题
I have a simple HTML5 / ASP.NET website that I started testing in IE10 today since it released for Win7.
This is an intranet site within my organization, and I believe awhile back there was a group policy deployed to enable the Display intranet sites in Compatibility View by default.
The thing I noticed today in testing was that even though I am adding an X-UA-Compatible IE=edge HTTP header (via my web.config), the site is showing in IE as:
Browser Mode: IE10 Compat View
Document Mode: Standards
I believe my HTML is actually OK though, because I can simply uncheck the Display intranet sites in Compatibility View setting and when it reloads, it immediately switches to:
Browser Mode: IE10
Document Mode: Standards
So my question is simply, shouldn't the IE=edge header value override the Display intranet sites in Compatibility View setting?
If not, is there any way I can override it?
回答1:
(I'll put this here because this question ranked higher for my google search, but after more digging I actually found the answer on another SO question: https://stackoverflow.com/a/13287226/1563. I'm not sure if they should be merged (at least not without some question editing))
This is likely happening because IE is set to "Display intranet sites in Compatibility View" (Alt+T | Compatibility View settings)
You can't override this setting using the X-UA-Compatible
meta tag but you can by sending the X-UA-Compatible
http header:
X-UA-Compatible: IE=edge
Credit goes to Lavinski for finding this
回答2:
This worked for me, try clearing existing headers before adding the new one or any others.
<httpProtocol>
<customHeaders>
<clear />
<add name="X-UA-Compatible" value="IE=Edge" />
</customHeaders>
</httpProtocol>
回答3:
I believe X-UA-Compatible
forces document mode while "Compatibility View" turns on both IE7 browser and document mode -> the document mode was actually overridden by X-UA-Compatible
.
See Difference between "Browser Mode" and "Document Mode" in Internet Explorer
来源:https://stackoverflow.com/questions/15128210/shouldnt-x-ua-compatible-ie-edge-header-override-display-intranet-sites-in-c