Conteúdo "Compatível com X-UA" = "IE = 9; IE = 8; IE = 7; IE = EDGE "

233
<meta http-equiv="X-UA-Compatible" content="IE=9; IE=8; IE=7; IE=EDGE" />
  1. Na verdade, qual é o significado dessa afirmação?

  2. Alguns dos exemplos usam ,para separar versões do IE, enquanto outros usam ;; qual é correto?

  3. A ordem IE=9; IE=8; IE=7; IE=EDGEtem alguma importância, gostaria de saber isso.

Edit : eu estou usando<!DOCTYPE html>

Kuttan Sujith
fonte
Eu acho que o IE = 9 não é adequado paraX-UA-Compatible
Krish
3
O Google realmente recomenda: developers.google.com/web-toolkit/doc/latest/DevGuideIE9
PlantTheIdea

Respostas:

328

Se você suporta o IE, para versões do Internet Explorer 8 e superior, faça o seguinte:

<meta http-equiv="X-UA-Compatible" content="IE=9; IE=8; IE=7" />

Força o navegador a renderizar como os padrões dessa versão específica. Não é suportado no IE7 e abaixo.

Se você separar com ponto e vírgula, ele definirá os níveis de compatibilidade para diferentes versões. Por exemplo:

<meta http-equiv="X-UA-Compatible" content="IE=7; IE=9" />

Renderiza IE7 e IE8 como IE7, mas IE9 como IE9. Ele permite diferentes níveis de compatibilidade com versões anteriores. Na vida real, porém, você deve escolher apenas uma das opções:

<meta http-equiv="X-UA-Compatible" content="IE=8" />

Isso permite testes e manutenção muito mais fáceis. Embora geralmente a versão mais útil disso esteja usando o Emulate:

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" />

Por esta:

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

Isso força o navegador a renderizar os padrões da versão mais recente.

Para mais informações, há muito o que ler no MSDN ,

PlantTheIdea
fonte
9
a ordem IE = 9; IE = 8; IE = 7; IE = Edge tem alguma importância, eu gostaria de saber que
Kuttan Sujith
Eu tenho um pouco de diferença na minha compreensão disso. Se o meu objetivo para o teste for o IE8, mas não desejar interromper o IE7, como você definiria essa metatag? E algum outro navegador usa isso?
Snekse 15/07
2
O IE7 não reconhecerá isso, ele foi implementado primeiro no IE8. A referência completa ao IE7 acima é se, por exemplo, você estava usando o IE7 como base para testes e desejava que todas as versões mais modernas do IE fossem renderizadas como faria nos padrões do IE7. nenhum outro navegador usa essa tag.
PlantTheIdea
1
O IE10 renderiza aplicativos da web antigos bem com o IE = 8 (YMMV), no entanto, a emulação do IE11 das quebras do IE8. Este UA: content="IE=8; IE=11"fornece os padrões IE8 do modo de documento compatível com o IE10 do navegador no IE10 e a borda do modo de documento no IE11. Um dos problemas com a atribuição do IE10 e IE11 UA é que a Microsoft removeu comentários condicionais .
Underverse
Com base nessa metatag, o IE11 não emularia o IE8, assumiria o IE11 (como foi fornecido na lista separada por ponto e vírgula). Essa lista também explicaria o fallback dos padrões do IE8, porque o IE10 desconhecia a existência do IE11, assim como o IE8 não podia aplicar os padrões do IE9. Você já tentou simplesmente usar content="IE=8"? Ou, preferencialmente content="IE=EmulateIE8",?
PlantTheIdea 24/02
4

Em certos casos, pode ser necessário restringir a exibição de uma página da Web a um modo de documento suportado por uma versão anterior do Internet Explorer. Você pode fazer isso exibindo a página com um cabeçalho compatível com x-ua. Para mais informações, consulte Especificando modos de documento herdados.
- https://msdn.microsoft.com/library/cc288325

Portanto, essa tag é usada para a prova da página da Web no futuro , de modo que o mecanismo mais antigo / compatível seja usado para renderizá-la da mesma maneira que o criador pretendia.

Verifique se você a verificou para funcionar corretamente com a versão do IE especificada.

Ujjwal Singh
fonte