Environment
Adobe Campaign Classic (version 6.1 build 8021 or later)
Issue/Symptoms
How to stop Internet Explorer from rendering in compatibility mode?
To restore old behavior
Edit /tomcat-7/conf/web.xml
of the instance and add the following lines:
filter
filter-nameHttpHeaderFilter/filter-name
filter-classcom.neolane.jssp.HttpHeaderFilter/filter- class
init-param
param-nameX-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.
meta http-equiv="X-UA-Compatible" content="IE=Edge"/
Another option is to create a registry key on all workstations running the console:
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
.
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.