Como evitar a renderização do Internet Explorer no modo de compatibilidade?

Última atualização em 2024-02-12

Descrição

Ambiente

Adobe Campaign Classic (versão 6.1 build 8021 ou posterior)

Problema/Sintomas

Como parar a renderização do Internet Explorer no modo de compatibilidade?

Resolução

  • Para restaurar comportamentos antigos
    Editar /tomcat-7/conf/web.xml da instância e adicione as seguintes linhas:

    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
    
  • Para definir um valor diferente

    Adicione as linhas, mas defina o valor desejado dentro do elemento adicionado.

  • Para restaurar o novo comportamento padrão

    (X-UA-Compatible: IE=Edge), certifique-se de que esse bloco não esteja presente.

Limitações

Não funciona para visualizações de entrega, pois elas não são entregues via HTTP pelo servidor do Adobe Campaign. É um controle do IE incorporado que contém o HTML personalizado. O cabeçalho HTTP X-UA-Compatible não se aplica e o IE incorporado força o modo de compatibilidade.

Para esses casos, estas são as seguintes soluções:

  • Adicione a seguinte meta tag no do delivery HEAD nós. Também é possível usar IE=8, dependendo da sua versão.

    meta http-equiv="X-UA-Compatible" content="IE=Edge"/
    
  • Outra opção é criar uma chave de registro em todas as estações de trabalho que executam o 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)
    
  • Você também pode experimentar com outros valores, como 9000, se nem mesmo direcionar 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
    

Causa

Anteriormente (build 6.1: qi8021), o servidor nunca enviou explicitamente cabeçalhos de modo de compatibilidade do agente do usuário (compatíveis com X-UA) para os clientes da Web. Algumas páginas continham a seguinte meta tag, mas nem sempre funcionava devido à tediosa heurística do IE, principalmente usando o console.

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

O cabeçalho HTTP a seguir agora é definido por padrão em todas as solicitações respondidas pelo Tomcat:

X-UA-Compatible: IE=edge

Esse cabeçalho torna o console e o IE renderizados com eficiência usando os algoritmos mais recentes disponíveis. A atualização resolveu todos os problemas de compatibilidade relatados. Se esse novo comportamento não for desejado, você poderá executar as etapas acima para restaurar o comportamento antigo.

Nesta página