Determining Possible Compatibility Issues and Solutions

This topic provides IT professionals a detailed overview of Internet Explorer 10 compatibility issues. It also discusses remediation strategies for migrating web applications, and provides an introduction to tools and processes.

Migrating to a new operating system can pose certain unique challenges, especially with the need to support legacy web applications. In particular, if your organization relies on Internet Explorer 6-based web applications, you must create a comprehensive strategy and execution plan to migrate the legacy applications to Internet Explorer 10.

Note

Microsoft recommends that you consider testing or adding a parallel project for Internet Explorer 10 if you’re currently testing, piloting, or deploying Internet Explorer 9. In addition, it should be noted that Internet Explorer 6 can’t run natively on any later version of Internet Explorer, so the option of running two versions of Internet Explorer simultaneously isn’t supported. For more information, see the Microsoft Knowledge Base article Running Multiple Versions of Internet Explorer on Single Operating System is Unsupported.

Potential compatibility solutions

Your organization can use one of the following remediation approaches to attempt to fix your compatibility issues:

  • Using Compatibility View. Use the Compatibility View feature to address minor compatibility issues. This approach doesn’t modify the code.

  • Using virtualization. Create a virtual operating environment on which you can run earlier versions of Internet Explorer.

  • Modifying the source code. If Compatibility View doesn’t work to fix your problem, you must update the website or web application source code.

Using Compatibility View

Compatibility View is a feature of Internet Explorer 10 that allows the browser to render the webpage nearly identically to the way that Internet Explorer 7 would render it. For specific details about Compatibility View, see the Internet Explorer 10 Guide for Developers (Windows).

In an enterprise environment, some areas have lower risk for compatibility issues. For example, Intranet Zone websites use Compatibility View by default. Client web applications that render using the Web Object Control, or the WebOC, are also low risk for compatibility issues. This is because Internet Explorer 10 defaults to a compatibility mode for the WebOC. However, the default configuration settings for Compatibility View may not be enough to ensure complete compatibility. The best way to know if a website or web application is compatible with Internet Explorer 10 is by testing it.

What is Compatibility View?

In Internet Explorer 10, Compatibility View changes the way the browser interprets code written in CSS, HTML, the Document Object Model (DOM), and the JavaScript engine to try to match that of Internet Explorer 7. This means viewing a site in Internet Explorer 10 Compatibility View will be almost identical to viewing a site in Internet Explorer 7. However, compatibility view does not change the way all code is interpreted by the browser. For example, the changes made to Internet Explorer 10 in relation to how the browser handles ActiveX®, networking, and security may still cause website or web application incompatibilities. These behaviors are largely unchanged by the Compatibility View feature.

Why do you need Compatibility View?

When Microsoft looked at compatibility issues in legacy web applications, it was clear that customers could benefit from the ability to have their browser render as it had in previous versions. One of the challenges with delivering this feature to users is to make it as seamless and invisible as possible. The Compatibility View feature follows a set of rules in an attempt to display content correctly, without any user (or IT administrator) action needed. The feature provides mechanisms for developers to instruct the browser which rendering engine to use, as well as the ability for users to override the browser’s choice and enable them to switch modes. When neither the developer nor the IT pro specifies which rendering mode to use, the user will see the broken page icon.

Clicking the icon instructs Internet Explorer 10 to switch rendering modes. The user sees the page reload instantly. Note that users will not always see the Compatibility View icon – its goal is to provide users with a fallback solution rather than to serve as the primary application compatibility mechanism. Internet Explorer only displays this button when toggling into Compatibility View makes sense, such as when viewing a Standards mode page. In all other cases, such as when viewing Quirks mode pages or viewing intranet zone sites, the button is not displayed.

For more information about the goals of the Compatibility View feature and its icon, see Use Compatibility View in Internet Explorer.

How do I enable Compatibility View?

There are several ways to enable the Compatibility View feature, and this list is provided to help understand using it for a testing process only. If testing shows that Compatibility View resolves the issue, we recommend that organizations use Group Policy (GP) to control the Compatibility View feature in an enterprise-wide deployment. By default, Compatibility View is enabled for the Intranet Zone, helping to ensure that line-of-business applications work without needing additional modifications. Also, extranet applications, often managed by outsourcing partners, are typically not seen as intranet sites and may need to be included in GP settings.

Note

The Compatibility View option is only available from pages experiencing compatibility issues. Any webpage not experiencing a compatibility-related issue, will have the Compatibility View option grayed out.

To turn on Compatibility View using the Tools menu

  • From a page that is experiencing compatibility issues, click the Tools menu, and then click Compatibility View.

    A checkmark appears next to the Compatibility View item on the menu list, indicating that the browser is using Compatibility View.

To turn on Compatibility View using the Developer Tools

  1. From Internet Explorer 10, click the Tools menu, and then click F12 developer tools.

    The developer tools appear at the bottom of the webpage.

  2. From the Browser Mode: IE10 menu, click to change the option to Browser Mode: Internet Explorer 10 Compatibility View.

    The Document Mode automatically changes to Internet Explorer 5 quirks (page default).

    The Browser Mode setting modifies the reported UA String, changing it from MSIE 10 to an earlier version of the string, adjusting the version vector that’s used by CSS and JavaScript within the documents.

    The Document Mode setting modifies how the webpage renders, enabling you to force the page to render in one of the five modes: Standards mode, Quirks mode, Internet Explorer 5 quirks (page default), Internet Explorer 7 standards, Internet Explorer 8 standards, or Internet Explorer 9 standards without modifying the UA String reported to the web application. Be aware that any changes you make to the Document Mode and Browser Mode settings, from the Developer Tools will persist for the lifetime of the tab session.

    For more information about the differences between Browser Mode and Document Mode, see Testing in Different Browser and Document Modes.

To turn on Compatibility View by enabling the EmulateIE10 X-UA_Compatible header

  • Insert HTML code directly into your webpages, in one of two ways:

    • At the server settings-level, you can insert an HTTP header tag.

    • At the page-level, you can insert a page header using the EmulateIE10Meta tag.

To turn on Compatibility View by using the Compatibility View list

  1. On the Tools menu, click Compatibility View Settings.

    The Compatibility View Settings dialog box appears.

  2. Type the problematic URL into the Add this website box, and then click Add.

    The website appears in the Websites you’ve added to Compatibility View box, and the website opens with Compatibility View automatically activated.

It’s also possible that your web domain is already on the Microsoft-managed Compatibility View List, located at File:\\%LOCALAPPDATA%\Microsoft\Internet Explorer\IECompatData\iecompatdata.xml.

Managing Compatibility View by updating the Meta tag or HTTP header

Microsoft recognizes that websites may contain thousands (or tens of thousands) of individual pages, so setting the document mode for each document is impractical. If your site works by setting the Meta tag for all pages or a collection of pages selected by folder, the recommendation is to adjust your server configuration and add the X-UA-Compatible metadata in the HTTP header.

To ensure the content is displayed using the Internet Explorer 10 document (standards) mode you must specify the value of IE=10. To ensure the content is displayed using the Internet Explorer 9 rendering behavior, specify the value of IE=9. To ensure the content is displayed using the Internet Explorer 5, or Quirks, rendering behavior, specify the value of IE=5. For further information about compatibility and the X-UA-Compatible header, see Defining Document Compatibility.

The following table describes the available document modes for Internet Explorer 10:

Content value Meaning

IE=5

Renders using Internet Explorer 5 Quirks mode.

IE=7

Renders using Internet Explorer 7 standards mode.

IE=8

Renders using Internet Explorer 8 standards mode.

IE=9

Renders using Internet Explorer 9 standards mode.

IE=Edge

Renders using the latest mode; in Internet Explorer 10, this is equivalent to IE=10.

IE=10

Renders using Internet Explorer 10 standards mode.

Managing Compatibility View with Group Policy

Internet Explorer 10 has many Group Policy entries that can be configured for keeping your environment managed and safe. The following table provides setting recommendations for the following important areas: security, performance, and compatibility with previous version of Internet Explorer, regardless of Zone determination.

Activity Location Setting the policy object

Turn on Internet Explorer 7 standards mode for all sites, regardless of Zone.

Administrative Templates\Windows Components\Internet Explorer\Compatibility View

Double-click Turn on Internet Explorer 7 Standards Mode, and then click Enabled.

Turn on Compatibility View for all intranet zones

Administrative Templates\Windows Components\Internet Explorer\Compatibility View

Double-click Turn on Internet Explorer Standards Mode for local intranet, and then click Disabled.

Turn on Compatibility View for all websites, using Group Policy

Administrative Templates\Windows Components\Internet Explorer\Compatibility View

Double-click Use Policy List of Internet Explorer 7 sites, and then click Enabled.

Users will be able to add or remove sites manually to their local Compatibility View list, but they won’t be able to remove the sites you specifically added.

Turn on Quirks mode for all websites, using Group Policy

Administrative Templates\Windows Components\Internet Explorer\Compatibility View

Double-click Use Policy List of Quirks Mode sites, and then click Enabled.

Ensure your users are using the most up-to-date version of Microsoft’s compatibility list.

Administrative Templates\Windows Components\Internet Explorer\Compatibility View

Double-click Include updated Web site lists from Microsoft, and then click Enabled.

Restrict users from making security zone configuration changes.

Administrative Templates\ Windows Components\Internet Explorer\Internet Control Panel

Double-click Disable the Security Page, and then click Enabled.

Control which security zone settings are applied to specific websites.

Administrative Templates\ Windows Components\Internet Explorer\Internet Control Panel\Security Page

Double-click Site to Zone Assignment List, click Enabled, and then enter your list of websites and their applicable security zones.

Turn off Data Execution Prevention (DEP).

Administrative Templates\ Windows Components\Internet Explorer\Security Features

Double-click Turn off Data Execution Prevention, and then click Enabled.

Managing ActiveX installation issues with Group Policy

A key feature of ActiveX controls is their simple "download and execute" deployment model. ActiveX controls are installed and invoked through the HTML object tag, which has an attribute called CODEBASE that tells Internet Explorer (using a URL) where to get the control if it is not already installed on the user’s computer. In that case, Internet Explorer downloads the associated installation package, performs trust verification on the object, and prompts the user for installation permission in the Internet Explorer Information Bar. During the installation, the control is registered and invoked by the rendering page. Once installed, the control can be invoked by any standard user. This simple mechanism of distribution and execution is meant to provide developers with an easy way to distribute their components to users of their web application. The problem with this distribution method is that standard account users cannot directly install per-computer ActiveX controls. Administrator privileges may be required to complete the installation.

The ActiveX Installer Service (AXIS) enables IT professionals to manage the deployment of ActiveX controls by using Group Policy on computers in an organization. The options and sites used by the ActiveX Installer Service are configured by Group Policy settings, which can be modified by using either the Group Policy Management Console (GPMC) or the Local Group Policy editor. There are two policy settings for the ActiveX Installer Service: Approved Installation Sites for ActiveX Controls and ActiveX installation policy for sites in trusted zones. The Approved Installation Sites for ActiveX Controls policy setting consists of a list of approved installation sites, which the ActiveX Installer Service uses to determine whether an ActiveX control can be installed. The ActiveX installation policy for sites in Trusted zones policy setting identifies the methods by which Trusted sites zones can be used to install ActiveX controls. When a website attempts to install an ActiveX control, the ActiveX Installer Service checks to see if the URL of the Web site is listed in either the list of approved installation sites or as part of the trusted sites zone. If the site is on either of these, the ActiveX Installer Service checks to make sure that the site meets the requirements defined by the policy. If the site and the ActiveX control meet all of the requirements of the policy settings, the control is installed.

For more information, see Administering the ActiveX Installer Service.

If Compatibility View resolves the issue

If you enable Compatibility View and it successfully resolves your compatibility issues, the best course of action is to enable Compatibility View by using Group Policy. Then, to ensure forward compatibility in the future, we recommend that you code your web applications and websites to the currently adopted web standards. Web standards are constantly evolving and changing. As such, compatibility is an issue that will need to be addressed as your organization moves forward. Browsers are continually being improved to become more compliant, not less compliant, with the newest web standards; consequently, your web-based applications and websites should be updated to match the newest browser standards as well.

Important

While Microsoft is committed to supporting Internet Explorer 10 products throughout its lifecycle, we recommend that organizations not rely only on legacy rendering modes to address compatibility issues.

If Compatibility View doesn’t resolve the issue

Some older applications specifically coded for Internet Explorer 6 may not work in Compatibility View. For these applications, there is an alternative remediation option with setting the website to Quirks mode. Quirks mode is a backwards compatibility mode that is approximately equivalent to the rendering behavior in Internet Explorer 5.5. To check whether a website renders properly in Quirks mode, testers can set Internet Explorer 10 to Quirks mode by using Developer Tools. If Quirks mode mitigates site compatibility issues, IT Pros can add the entire site to the Quirks mode policy list using Group Policy. If Quirks mode doesn’t mitigate the compatibility issues, IT pros will need to look to alternate methods of remediating the site. This could include asking the site developer to remediate the website or using virtualization as a workaround with MED-V or Client Hyper-V.

Using virtualization

Application compatibility is one of the main reasons why organizations may be reluctant to upgrade to the latest version of the Windows operating system. For example, an organization might rely on an important line-of-business application that only runs in the Windows XP operating system, or they might have a critical intranet site that was built to run in Internet Explorer 6. Additionally, they may not have the time or the resources they need to rebuild, refit, or upgrade these applications.

If an organization is considering an upgrade and has a large number of legacy web applications to be tested and migrated to the latest version of Internet Explorer, IT pros can use virtualization technologies to address this temporarily. (Note that they should simultaneously work on remediating the web applications to run natively in the newer version of Internet Explorer.) The Microsoft-supported virtualization options most appropriate for virtualizing web applications are MED-V or Client Hyper-V.

For more information about virtualization options, see Microsoft Desktop Virtualization.

Modifying the source code

Updating your source code ensures that the web application or website works natively in Internet Explorer 10 in at least 1 of the 5 provided rendering modes, including Internet Explorer 10 standards, Internet Explorer 9 standards, Internet Explorer 8 standards, Internet Explorer 7 standards, or Quirks. You must identify application owners and development resources to tackle the compatibility issues of critical business applications by putting together a formal remediation plan.

For organizations that are already running Internet Explorer 10, the Internet Explorer 10 Compatibility Cookbook (Windows) is the primary resource for developers to learn about the developer features that have been changed or deprecated since Internet Explorer 9.