I have touched this subject already twice: first I I blogged about forcing site rendering to be done with Internet Explorer’s latest engine. Then I faced a situation where separate intranet zone (bad idea, Microsoft!) fallbacks to compatibility mode and does not respect the IE=edge meta tag as internet zone web sites do.
Well… the saga isn’t over, as I faced this situation at work today. Again. I was going to put the IE=11 meta tag in place to force normal mode, but then I started to doubt how older IE’s (9, 10) would interpret the “11” tag. Short answer is: they don’t. Luckily you can specify many different modes, and the browser will pick the first one it supports. To apply this use either a meta tag in your page:
<meta http-equiv="X-UA-Compatible" content="IE=11; IE=10; IE=9; IE=8; IE=7; IE=edge" />
Or apply this IIS configuration to add the correct headers:
<system.webserver>
<httpProtocol>
<customHeaders>
<!-- No need to expose the platform -->
<remove
name="X-Powered-By" />
<!-- Do not show IE compatibility view -->
<remove
name="X-UA-Compatible"/>
<add
name="X-UA-Compatible"
value="IE=11; IE=10; IE=9; IE=8; IE=7; IE=edge"/>
</customHeaders>
</httpProtocol>
</system.webserver>
Not nice, but works.