Atualização de outubro de 2015
Esta resposta foi publicada há vários anos e agora a pergunta realmente deve ser , você deve considerar usar a X-UA-Compatible
tag no seu site? com as alterações que a Microsoft fez em seus navegadores (mais sobre os abaixo).
Dependendo dos navegadores Microsoft suportados, talvez você não precise continuar usando a X-UA-Compatible
tag. Se você precisar oferecer suporte ao IE9 ou IE8, recomendo o uso da tag. Se você oferecer suporte apenas aos navegadores mais recentes (IE11 e / ou Edge), consideraria abandonar essa tag por completo. Se você usa o Twitter Bootstrap e precisa eliminar os avisos de validação, essa tag deve aparecer na ordem especificada. Informações adicionais abaixo:
A X-UA-Compatible
metatag permite aos autores da web escolher em qual versão do Internet Explorer a página deve ser renderizada. O IE11 fez alterações nesses modos; veja a nota do IE11 abaixo. O Microsoft Edge , o navegador que substituiu o IE11, apenas honra a X-UA-Compatible
metatag em determinadas circunstâncias. Veja a nota do Microsoft Edge abaixo.
Segundo a Microsoft, ao usar a X-UA-Compatible
tag, ela deve ser a mais alta possível no seu documento head
:
Se você estiver usando a tag META compatível com X-UA, deseja colocá-la o mais próximo possível do topo do cabeçalho da página. O Internet Explorer começa a interpretar a marcação usando a versão mais recente. Quando o Internet Explorer encontra a marca META compatível com X-UA, ela inicia novamente usando o mecanismo da versão designada. Este é um problema de desempenho porque o navegador deve parar e reiniciar a análise do conteúdo.
Aqui estão as suas opções:
- "IE = borda"
- "IE = 11"
- "IE = EmulateIE11"
- "IE = 10"
- "IE = EmulateIE10"
- "IE = 9"
- "IE = EmulateIE9
- "IE = 8"
- "IE = EmulateIE8"
- "IE = 7"
- "IE = EmulateIE7"
- "IE = 5"
Para tentar entender o que cada um significa, aqui estão as definições fornecidas pela Microsoft:
O Internet Explorer suporta vários modos de compatibilidade de documentos que habilitam recursos diferentes e podem afetar a maneira como o conteúdo é exibido:
O modo de borda informa ao Internet Explorer para exibir o conteúdo no modo mais alto disponível. Com o Internet Explorer 9, isso é equivalente ao modo IE9. Se uma versão futura do Internet Explorer oferecer suporte a um modo de compatibilidade mais alto, as páginas definidas no modo de borda aparecerão no modo mais alto suportado por essa versão. Essas mesmas páginas ainda apareceriam no modo IE9 quando exibidas no Internet Explorer 9. O Internet Explorer suporta vários modos de compatibilidade de documentos que habilitam recursos diferentes e podem afetar a maneira como o conteúdo é exibido:
O modo IE11 fornece o mais alto suporte disponível para padrões estabelecidos e emergentes do setor, incluindo HTML5, CSS3 e outros.
O modo IE10 fornece o mais alto suporte disponível para padrões estabelecidos e emergentes do setor, incluindo HTML5, CSS3 e outros.
O modo IE9 fornece o mais alto suporte disponível para padrões estabelecidos e emergentes do setor, incluindo HTML5 (Working Draft), W3C Cascading Style Sheets Level 3 Specification (Working Draft), Scalable Vector Graphics (SVG) 1.0 Specification e outros. [Nota do editor: O IE 9 não suporta animações CSS3].
O modo IE8 suporta muitos padrões estabelecidos, incluindo a especificação W3C Cascading Style Sheets Level 2.1 e a API W3C Selectors; ele também fornece suporte limitado para a especificação de nível 3 das folhas de estilo em cascata W3C (rascunho de trabalho) e outros padrões emergentes.
O modo IE7 renderiza o conteúdo como se ele fosse exibido no modo padrão pelo Internet Explorer 7, independentemente de a página conter ou não uma diretiva.
O modo Emular IE9 informa ao Internet Explorer para usar a diretiva para determinar como renderizar conteúdo. As diretivas do modo padrão são exibidas no modo IE9 e as diretivas do modo quirks são exibidas no modo IE5. Ao contrário do modo IE9, o modo Emular IE9 respeita a diretiva.
O modo Emular IE8 informa ao Internet Explorer para usar a diretiva para determinar como renderizar conteúdo. As diretivas do modo padrão são exibidas no modo IE8 e as diretivas do modo quirks são exibidas no modo IE5. Diferente do modo IE8, o modo Emular IE8 respeita a diretiva.
O modo Emular IE7 informa ao Internet Explorer para usar a diretiva para determinar como renderizar conteúdo. As diretivas do modo padrões são exibidas no modo de padrões do Internet Explorer 7 e as diretivas do modo quirks são exibidas no modo IE5. Ao contrário do modo IE7, o modo Emular IE7 respeita a diretiva. Para muitos sites, esse é o modo de compatibilidade preferido.
O modo IE5 renderiza o conteúdo como se ele fosse exibido no modo quirks pelo Internet Explorer 7, muito semelhante à maneira como o conteúdo foi exibido no Microsoft Internet Explorer 5.
IE10 NOTA: A partir do IE10, o modo quirks se comporta de maneira diferente do que nas versões anteriores do navegador. No IE9 e nas versões anteriores, o modo quirks restringia a página da Web aos recursos suportados pelo IE5.5. No IE10, o modo quirks está em conformidade com as diferenças especificadas na especificação HTML5.
Pessoalmente, sempre escolho a http-equiv="X-UA-Compatible" content="IE=edge"
meta tag, pois as versões mais antigas têm muitos bugs e não quero que o IE decida entrar no "Modo de compatibilidade" e mostre meu site como IE7 vs IE8 ou 9. Prefiro sempre a versão mais recente do IE.
IE11
Da Microsoft :
A partir do IE11, o modo de borda é o modo de documento preferido; representa o mais alto suporte para os padrões modernos disponíveis para o navegador.
Use a declaração de tipo de documento HTML5 para ativar o modo de borda:
<!doctype html>
O modo Edge foi introduzido no Internet Explorer 8 e está disponível em cada versão subsequente. Observe que os recursos suportados pelo modo de borda são limitados aos suportados pela versão específica do navegador que processa o conteúdo.
A partir do IE11, os modos de documento foram descontinuados e não devem mais ser usados, exceto temporariamente. Atualize sites que dependem de recursos herdados e modos de documento para refletir os padrões modernos.
Se você precisar direcionar um modo de documento específico para que seu site funcione enquanto o reformula para oferecer suporte a padrões e recursos modernos, saiba que está usando um recurso de transição, que pode não estar disponível em versões futuras.
Se você atualmente usa o cabeçalho compatível com x-ua para segmentar um modo de documento herdado, é possível que seu site não reflita a melhor experiência disponível no IE11.
Microsoft Edge (substituição para o Internet Explorer que acompanha o Windows 10)
Informações na X-UA-Compatible
metatag para a versão "Edge" do IE. Da Microsoft :
Apresentando o modo de documento Edge “vivo”
Como anunciamos em agosto de 2013, estamos descontinuando os modos de documento a partir do IE11. Com nossas atualizações de plataforma mais recentes, a necessidade de modos de documentos herdados é limitada principalmente aos aplicativos Web herdados da empresa. Com as novas alterações arquiteturais, esses modos de documentos herdados serão isolados das alterações no modo "vivo" do Edge, o que ajudará a garantir um nível muito mais alto de compatibilidade para clientes que dependem desses modos e nos ajudará a avançar ainda mais rapidamente nas melhorias no Edge . O IE ainda respeitará os modos de documento atendidos pelos sites da intranet, sites na lista do Modo de Exibição de Compatibilidade e quando usados apenas no Modo Empresarial.
Os sites públicos da Internet serão renderizados com a nova plataforma no modo Edge (ignorando o X-UA-Compatible). Nosso objetivo é que o Edge seja o modo de documento "vivo" daqui em diante e nenhum outro modo de documento seja introduzido daqui para frente.
Com as alterações no Microsoft Edge, para não oferecer mais suporte aos modos de documento, na maioria dos casos, a Microsoft possui uma ferramenta para verificar seu site e verificar se ele possui código incompatível com o Edge.
Chrome = 1 informações para o IE
Há também chrome=1
que você pode usar ou utilizar em conjunto com uma das opções acima, como: <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
. chrome=1
é para o Chrome Frame do Google, definido como:
O Google Chrome Frame é um plug-in de navegador de código aberto. Os usuários que possuem o plug-in instalado têm acesso às tecnologias da Web aberta do Google Chrome e ao rápido mecanismo JavaScript quando abrem as páginas no navegador.
O Google Chrome Frame aprimora perfeitamente sua experiência de navegação no Internet Explorer. Ele exibe sites habilitados para o Google Chrome Frame usando a tecnologia de renderização do Google Chrome, fornecendo acesso aos mais recentes recursos HTML5, bem como aos recursos de desempenho e segurança do Google Chrome, sem interromper o uso habitual do navegador.
Quando o Google Chrome Frame é instalado, a Web fica melhor sem que você precise pensar nisso.
Mas, para que esse plug-in funcione, você deve usar chrome=1
a X-UA-Compatible
metatag.
Mais informações sobre o Chrome Frame podem ser encontradas aqui .
Nota: O Google Chrome Frame funciona apenas para o IE6 até o IE9 e foi aposentado em 25 de fevereiro de 2014. Mais informações podem ser encontradas aqui . Obrigado a @mck pelo link.
Validação:
HTML5 :
A página será validada usando o W3 Validator apenas ao usar <meta http-equiv="X-UA-Compatible" content="IE=Edge">
. Para outros valores, lançará o erro: A meta element with an http-equiv attribute whose value is X-UA-Compatible must have a content attribute with the value IE=edge.
Em outras palavras, se você o tiver IE=edge,chrome=1
, não será validado. Eu ignoro esse erro completamente, pois os navegadores modernos simplesmente ignoram essa linha de código.
Se você deve ter um código completamente válido, considere fazer isso no nível do servidor, configurando o cabeçalho HTTP. Como uma observação, a Microsoft diz: If both of these instructions are sent (meta and HTTP), the developer's preference (meta element) takes precedence over the web server setting (HTTP header).
Consulte a resposta da olibre ou a resposta da bitinn para obter mais detalhes sobre como definir um cabeçalho HTTP.
XHTML
Não há problema com a validação ao usar <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
o tempo que a tag estiver devidamente fechada (por exemplo, />
vs >
).
Twitter Bootstrap
Essa tag é altamente recomendada pela equipe do Bootstrap desde pelo menos 2014, e o Bootlint , o linter criado pela equipe twbs, continua a emitir um aviso quando a tag é omitida. O linter distingue avisos e erros e, como tal, a gravidade de omitir essa tag pode ser considerada menor.
Para obter mais informações, X-UA-Compatible
consulte o site da Microsoft, Definindo a compatibilidade de documentos .
Para mais informações sobre o que o IE suporta, consulte caniuse.com .
Para obter mais informações sobre os requisitos do Twitter Bootstrap, consulte a página wiki do projeto de bootlint .