Internet Explorer 10 Turning Compatibility mode on (From server)

In order to turn Compatibility mode on for Internet Explorer the server should send “X-UA-Compatible” as a header with the value IE=EmulateIE9. This will force Internet explorer to use compatibility mode if it is a version higher than 9

If we using ISS (making for instance a asp.net project) the following web.config can be used to do this.

<configuration>
  <!-- Other settings -->
  <system.webServer>
    <httpProtocol>
      <customHeaders>
        <clear />
        <add name="X-UA-Compatible" value="IE=EmulateIE9" />
      </customHeaders>
    </httpProtocol>
  </system.webServer>
</configuration>

Mode details on the possible values for the header tag

Sometimes sending this as a header tag works, then this should be sent first in the header tag

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
  <head>
    <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9" />

Internet Explorer 10 Turning Compatibility mode off (From server)

In order to turn Compatibility mode off for Internet Explorer the server should send “X-UA-Compatible” as a header with the value IE=Edge. This will force Internet explorer to use the latest mode the version has (this works from IE 6 to 11 and up)

If we using ISS (making for instance a asp.net project) the following web.config can be used to do this.

<configuration>
  <!-- Other settings -->
  <system.webServer>
    <httpProtocol>
      <customHeaders>
        <clear />
        <add name="X-UA-Compatible" value="IE=Edge" />
      </customHeaders>
    </httpProtocol>
  </system.webServer>
</configuration>

Mode details on the possible values for the header tag

Internet Explorer not rendering empty div correctly

Internet Explorer won’t render empty divs correctly.

I had a div with a height and a background image but no content; It was not rendered with the correct height it was only like one line.

A work around for this is to have some “content” inside the div (like a whitespace, a comment or why not both) then Internet Explorer renders the correct height.

<div class="some-class-with-size-and-background">
&nbsp;<!-- keep to get IE to render this div -->
</div>

Keep ie6 installed (don’t update ie to newer versions)

For testing I like to keep older versions of Internet Explorer installed, here are some notes on how to disable the updating of Internet Explorer to newer versions.
I only recommend doing this on a machine that should keep Internet Explorer 6 in order to do development testing.

  • Disable Internet Explorer 7 Open up a registry editor and check if the key “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Setup\7.0” exists, otherwise create it (the key is the tree structure in regedit).
    Now enter a Key name “DoNotAllowIE70” as a DWORD and give it the value “1”.
    This will keep Internet Explorer 8 from installing on this computer.
  • Disable Internet Explorer 8 Open up a registry editor and check if the key “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Setup\8.0” exists, otherwise create it (the key is the tree structure in regedit).
    Now enter a Key name “DoNotAllowIE80” as a DWORD and give it the value “1”.
    This will keep Internet Explorer 8 from installing on this computer.
  • Disable Internet Explorer 9 Open up a registry editor and check if the key “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Setup\9.0” exists, otherwise create it (the key is the tree structure in regedit).
    Now enter a Key name “DoNotAllowIE90” as a DWORD and give it the value “1”.
    This will keep Internet Explorer 9 from installing on this computer.
  • Disable Internet Explorer 10 Open up a registry editor and check if the key “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Setup\10.0” exists, otherwise create it (the key is the tree structure in regedit).
    Now enter a Key name “DoNotAllowIE10” as a DWORD and give it the value “1”.
    This will keep Internet Explorer 10 from installing on this computer.
  • Disable Internet Explorer 11 Open up a registry editor and check if the key “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Setup\11.0” exists, otherwise create it (the key is the tree structure in regedit).
    Now enter a Key name “DoNotAllowIE11” as a DWORD and give it the value “1”.
    This will keep Internet Explorer 11 from installing on this computer.
  • The values mean the following:

    • When the key value name is not defined, distribution is not blocked.
    • When the key value name is set to 0, distribution is not blocked.
    • When the key value name is set to 1, distribution is blocked.

    note This article is updated as new versions are released.

    If you need to do this on several computers then you can download Toolkits to do this from Microsoft (warning: read the instructions and verify that you ran it correctly on the first computer you run it on):