Come evitare il rendering di Internet Explorer in modalità di compatibilità?

Questo articolo illustra come interrompere il rendering di Internet Explorer in modalità di compatibilità in Adobe Campaign Classic.

Descrizione description

Ambiente

Adobe Campaign Classic (versione 6.1, build 8021 o successiva)

Problema/Sintomi

Come interrompere il rendering di Internet Explorer in modalità di compatibilità?

Risoluzione resolution

  • Per ripristinare il comportamento precedente
    Modifica /tomcat-7/conf/web.xml dell’istanza e aggiungi le seguenti righe:

    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>
    
  • Per impostare un valore diverso

    Aggiungi le righe, ma imposta il valore desiderato all’interno dell’elemento aggiunto.

  • Per ripristinare il nuovo comportamento predefinito

    (X-UA-Compatible: IE=Edge), accertati che questo blocco non sia presente.

Limitazioni

Non funziona per le anteprime di consegna poiché non vengono distribuite tramite HTTP dal server Adobe Campaign. Si tratta di un controllo IE incorporato che contiene HTML personalizzati. L’intestazione HTTP X-UA-Compatible non è applicabile e IE incorporato forza la modalità di compatibilità.

In questi casi, si tratta delle seguenti soluzioni:

  • Aggiungi il seguente tag meta nel file della consegna <HEAD> nodi. Puoi anche utilizzare IE=8, a seconda della versione.

    code language-none
    <meta http-equiv="X-UA-Compatible" content="IE=Edge"/>
    
  • Un’altra opzione consiste nel creare una chiave del Registro di sistema su tutte le workstation che eseguono 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)
    
  • Puoi anche sperimentare con altri valori come 9000 se non esegui il targeting 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
    

Causa

In passato (6.1 build ‹ 8021), il server non inviava mai esplicitamente le intestazioni della modalità di compatibilità dell’agente utente (compatibile con X-UA) ai client web. Alcune pagine contenevano il seguente tag meta, ma non sempre funzionava a causa di noiose euristiche IE, per lo più utilizzando la console.

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

La seguente intestazione HTTP è ora impostata per impostazione predefinita su tutte le richieste a cui ha risposto Tomcat:

X-UA-Compatible: IE=edge

Questa intestazione esegue efficacemente il rendering della console e di IE utilizzando gli algoritmi più recenti disponibili. L’aggiornamento ha risolto tutti i problemi di compatibilità segnalati. Se questo nuovo comportamento è indesiderato, puoi adottare le misure sopra descritte per ripristinare il comportamento precedente.

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