I recently ran into a problem with a webpage rendering different on two computers running the same version of Internet Explorer. For some reason one of them rendered the page in compatibility view mode even though it was valid HTML 5. After some investigation I found out that this was caused by one of the computers identifying the server as part of the intranet and the other one not. By default compatibility view is enabled in IE for intranets which causes it to behave as IE7.
When Microsoft introduced compatibility view in IE8 it was intended to simplify migration from IE7. Unfortunately it is still enabled by default when visiting intranet pages in IE10 (the setting is available in the browser from the menu
Tools/Compatibility View Settings).
Preventing Compatibility View
Fortunately there are two different ways to tell IE how it should handle your page (i.e. what document mode to use):
- You can set a meta tag telling IE what version it should render as, e.g.:
<meta http-equiv="X-UA-Compatible" content="IE=edge">
This means use the latest rendering functionality. It can also be used to set a specific version (e.g.
content="IE9") or a set of versions (e.g.
The problem with this method is that the document mode may already have been set. A link or tag earlier in the page could have caused this so you have to make sure that the meta tag is placed early in the document.
- You can also set the same information using HTTP header e.g.
"X-UA-Compatible" "IE=9"Since the response headers are handled earlier this way is more resilient to unexpected code changes.
PS If you are administrating the AD on your local network their default behavior can be changed in the GPO (Group Policy Object)
Display intranet sites in compatibility view which is found in:
Computer Configuration/Administrative Templates/Windows Components/Internet Explorer/Compatibility View/Turn on Internet Explorer Standards Mode for Local Intranet.