Comment éviter le rendu d’Internet Explorer en mode de compatibilité

Description


Problème


Nécessité d’arrêter le rendu d’Internet Explorer en mode de compatibilité


Environnement


Campaign Classic version 6.1 build 8021 ou ultérieure

Résolution

Cause

Auparavant (6.1 build 8021), le serveur n’avait jamais explicitement envoyé d’en-têtes de mode de compatibilité de l’agent utilisateur (compatible X-UA) aux clients web. Certaines pages contenaient la balise meta suivante, mais elle ne fonctionnait pas toujours en raison d’une heuristique Internet Explorer fastidieuse, utilisant principalement la console.

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

L’en-tête HTTP suivant est maintenant défini par défaut sur toutes les requêtes répondues par Tomcat.

X-UA-Compatible: IE=edge

Cet en-tête effectue efficacement le rendu de la console et d’IE à l’aide des derniers algorithmes disponibles. La mise à jour a résolu tous les problèmes de compatibilité signalés. Si ce nouveau comportement n’est pas souhaité, vous pouvez effectuer les étapes suivantes pour restaurer l’ancien comportement.

Étapes à résoudre

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

Pour définir une autre valeur, ajoutez les lignes, mais définissez la valeur souhaitée dans l’élément ajouté.
Pour restaurer le nouveau comportement par défaut (Compatible X-UA : IE=Edge), assurez-vous que ce bloc n’est pas présent

Limites

Il ne fonctionne pas pour les aperçus de diffusion, car ils ne sont pas livrés via HTTP par le serveur Adobe Campaign. Il s’agit d’un contrôle IE incorporé qui contient un HTML personnalisé. L’en-tête compatible HTTP X-UA ne s’applique pas, et l’IE incorporée force le mode de compatibilité.

Pour ces cas, il existe les solutions suivantes :

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"/

Une autre option consiste à créer une clé de registre sur tous les postes de travail exécutant la 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)

Vous pouvez tester d’autres valeurs comme 9000 si vous ne ciblez même pas 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

Sur cette page