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

Dans cet article, vous apprendrez comment empêcher le rendu d’Internet Explorer en mode de compatibilité dans Adobe Campaign Classic.

Description description

Environnement

Adobe Campaign Classic (version 6.1 build 8021 ou ultérieure)

Problème/Symptômes

Comment arrêter le rendu d’Internet Explorer en mode de compatibilité ?

Résolution resolution

  • Pour restaurer l’ancien comportement
    Modifiez /tomcat-7/conf/web.xml de l'instance et ajoutez les lignes suivantes :

    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>
    
  • 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

    (X-UA-Compatible: 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é.

Dans ce cas, les solutions suivantes sont possibles :

  • Ajoutez la balise meta suivante dans les noeuds <HEAD> de votre diffusion. Vous pouvez également utiliser IE=8, selon votre version.

    code language-none
    <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 :

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

Dans le passé (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 est indésirable, vous pouvez prendre les mesures ci-dessus pour restaurer l’ancien comportement.

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