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 useIE=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.