How to avoid Internet Explorer rendering in compatibility mode?

In this article you will learn how to stop your Internet Explorer from rendering in compatibility mode in Adobe Campaign Classic.

Description description

Environment

Adobe Campaign Classic (version 6.1 build 8021 or later)

Issue/Symptoms

How to stop Internet Explorer from rendering in compatibility mode?

Resolution resolution

  • To restore old behavior
    Edit /tomcat-7/conf/web.xml of the instance and add the following lines:

    code language-none
    <filter>
    
        <filter-name>HttpHeaderFilter</filter-name>
    
        <filter-class>com.neolane.jssp.HttpHeaderFilter</filter-
    class>
    
        <init-param>
    
          <param-name>X-UA-Compatible</param-name>
    
          <param-value></param-value>
    
        </init-param>
    
    </filter>
    
  • To set a different value

    Add the lines, but set the desired value inside the added element.

  • To restore the default new behavior

    (X-UA-Compatible: IE=Edge), ensure that this block is not present.

Limitations

It does not work for delivery previews since they are not delivered over HTTP by the Adobe Campaign server. It is an embedded IE control that contains customized HTML. The HTTP X-UA-Compatible header does not apply, and the embedded IE forces compatibility mode.

For such cases, these are the following workarounds:

  • Add the following meta tag in your delivery’s <HEAD> nodes. You can also use IE=8, depending on your version.

    code language-none
    <meta http-equiv="X-UA-Compatible" content="IE=Edge"/>
    
  • Another option is to create a registry key on all workstations running the console:

    code language-none
    HKLM\Software\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION\nlclient.exe
    
    (For 32-bit windows, it is HKLM\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION)
    
    Type: DWORD
    
    Value: 8000 (decimal)
    
  • You can also experiment with other values like 9000 if you don’t even target IE8.

    code language-none
    HKLM\Software\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION\nlclient.exe
    
    (For 32-bit windows, it is HKLM\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION )
    
    Type: DWORD
    

Cause

In the past (6.1 build ‹ 8021), the server never explicitly sent user agent compatibility mode headers (X-UA-Compatible) to the web clients. Some pages contained the following meta tag but it did not always work due to tedious IE heuristics, mostly using the console.

meta http-equiv="X-UA-Compatible" content="IE=Edge"/

The following HTTP header is now set by default on all requests responded by Tomcat:

X-UA-Compatible: IE=edge

This header effectively makes the console and IE render using the latest available algorithms. The update has solved all reported compatibility issues. If this new behavior is unwanted, you can take the abovementioned steps to restore old behavior.

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f