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

Descrição

Ambiente

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

Problema/Sintomas

Como impedir que o Internet Explorer seja renderizado no modo de compatibilidade?

Resolução

  • Para restaurar o comportamento antigo
    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 este bloco não esteja presente.

Limitações

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

Nesses casos, essas são as seguintes soluções alternativas:

  • Adicione a seguinte meta tag no HEAD nós. Você também pode 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 outros valores como 9000 se você nem mesmo não 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 (6.1 build 8021), o servidor nunca enviava cabeçalhos do modo de compatibilidade do agente de usuário explicitamente (X-UA-Compatible) para os clientes da Web. Algumas páginas continham a meta tag a seguir, mas nem sempre funcionavam devido à heurística tediosa do IE, principalmente usando o console.

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

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

X-UA-Compatible: IE=edge

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

Nesta página