Understanding Internet Explorer compatibility view

What is Compatibility view?

Internet Explorer 8 having a stricter adherence to W3C described web standards than its previous versions, IE 8 came much closer to the web standards (simply put: sites look more alike in all browsers). But this also meant that old sites (especially sites that were coded to a specific IE version) could break, no longer looking like they did even features could be broken. This happened with the release of IE 7.

To solve this Microsoft introduced “compatibility mode” in IE 8. This meant that web programmers could add a line to the web site to tell that this site should be run with IE 7 standards, and older sites would work as they did before.

With time TellusWeb evolved in appearance and feature wise, some not fully working in older IE’s. Because older IE’s didn’t follow the web standards it can be though and very time consuming to make a website that runs perfectly in IE and other browsers. So we said that we shouldn’t “support” IE 7 and we created a page which required the user to switch browser (Introduced in 2.8).

With the release of 2.9 we increased the IE requirement to IE 9 and we added a configuration to disable this requirement for those customers that couldn’t change browsers.


The problem

By default Internet Explorer has the setting “Display intranet sites in Compatibility View” enabled. This means that all sites that the browser considers is an intranet site will use the compatibility mode. 

Example: If you write in “http://tellus/tellusweb”, IE will consider it as an intranet site but if you write the fully qualified domain name (FQDN, “http://tellus.company.com/tellusweb”) or an IP-address (“http://10.10.10.100/tellusweb”) IE will think that it is an internet site and therefore other settings will be applied.

Let’s say you run IE 10 and go to TellusWeb in your intranet, IE displays the page in compatibility view (if previous setting is enabled) the invalid browser page is shown (and it says that you are running an older IE).


The solution

Here are some ways of solving this problem

Solution 1: Internet settings

Open Internet Explorer => Tools => Compatibility View settings, uncheck the checkbox for “Display all websites in Compatibility View”.

Solution 2: Group policy

You can also make the same changes as in Solution 1 in the group policy to affect multiple accounts/computers.
  1. Open a Group Policy Object Editor with selected policy
  2. Expand ‘Computer configuration’ or ‘User configuration’, depending on your system.
  3. Administrative Templates => Windows Components => Internet Explorer => Compatibility view
  4. Double-click on “Turn on Internet Explorer Standards Mode for Local Intranet”
  5. Select Enabled, press OK
  6. Open cmd, enter “gpupdate /force” to update group policies

Solution 3: Browsing with FQDN or IP

By browsing with the fully qualified domain name (FQDN) or IP-address the browser interprets the site as an internet site and therefore compatibility view will be disabled.

Solution 4: Disabling the strict browser setting

If you are running 2.9 or later then you can disable the browser validation:
  1. Open web.config (usually located in C:\Program Files\SourceTech\TellusWeb\web.config)
  2. Find <add key=”Browser.StrictMode” value=”true” />
  3. Change the value to “false” and save
NOTE: This configuration will be reverted back to default when updating Tellus system

Troubleshooting

If you disabled “Display intranet sites in Compatibility View” and you still get the invalid browser page verify the following:
  • In IE => Tools => Compatibility View settings, verify that “Display all websites in Compatibility View” is disabled
  • Open Internet Options (via Control Panel or IE) => Security => Local intranet => Sites => Advanced, verify that the address to your TellusWeb is not listed here.

References

Loading