No site da microsoft, eles afirmam que basta uma simples declaração doctype. Mas mesmo um documento tão curto quanto esse volta ao modo IE7:
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
</body>
</html>
No site da microsoft, eles afirmam que basta uma simples declaração doctype. Mas mesmo um documento tão curto quanto esse volta ao modo IE7:
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
</body>
</html>
Respostas:
O Internet Explorer supõe que a maioria das páginas da Web foi gravada para atingir versões anteriores do IE e analisa o tipo de documento, as metatags e o HTML para determinar o melhor modo de compatibilidade (às vezes incorretamente). Mesmo com um doctype HTML5, o IE ainda colocará seu site no modo de compatibilidade, se for um site de intranet.
Para garantir que seu site sempre use o modo de padrões mais recentes, verifique se Display intranet sites in Compatibly
está desativado. No entanto, você deve fazer isso em cada máquina local do servidor da Web (as instruções estão abaixo).
Como alternativa, e melhor ainda, você pode usar o X-UA-Compatible
cabeçalho para desativar isso no servidor. É importante observar que o uso da metatag não funcionará!
<!-- Doesn't always work! -->
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
No MSDN, é mencionado que o uso de um cabeçalho de host ou uma metatag deve substituir até mesmo sites da intranet. O artigo Noções básicas sobre modos de compatibilidade no Internet Explorer 8 diz o seguinte.
Um grande número de sites internos da empresa é otimizado para o Internet Explorer 7, portanto, essa exceção padrão preserva essa compatibilidade. ... Novamente, se uma meta tag ou cabeçalho http for usada para definir um modo de compatibilidade com o documento, essas configurações serão substituídas.
No entanto, na prática, isso não funcionará, o uso de um cabeçalho de host é a única opção que funciona. A seção de comentários do artigo também mostra vários exemplos desse problema exato.
O uso de uma meta tag também apresenta vários outros problemas, como ignorar a tag se ela não estiver diretamente abaixo da <head>
tag ou se houver muitos dados antes (4k). Também pode acionar a correção do documento em algumas versões do IE, o que atrasará a renderização. Você pode ler mais sobre esses problemas no artigo do MSDN Best Practice: Get your HEAD or order .
Adicionando o cabeçalho X-UA-Compatible
Se você estiver usando .NET e IIS, poderá adicioná-lo ao web.config
, também poderá fazer isso programaticamente:
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="X-UA-Compatible" value="IE=edge" />
</customHeaders>
</httpProtocol>
</system.webServer>
Se você não estiver usando o IIS, é fácil fazer isso em qualquer idioma. Por exemplo, veja como fazê-lo no PHP:
header('X-UA-Compatible: IE=edge');
Enquanto o X-UA-Compatible
cabeçalho estiver presente com o doctype HTML5, um site sempre será executado no modo de padrões mais recentes.
Desativando o Modo de Exibição de Compatibilidade
Ainda pode ser útil desativar o Modo de Exibição de Compatibilidade. Para fazer isso, desmarque Display all intranet sites in compatibility view
as configurações do modo de exibição de compatibilidade.
Você pode mostrar isso pressionando Altpara obter o menu.
Editar Esta resposta também se refere ao IE9.
alt
para abrir a barra de ferramentas, é em Ferramentas -> configurações de exibição compat
Isso funciona para mim ..
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
X-UA-Compatible
metatag, mas ainda não está ativando o modo de documento IE10 Standards como padrão da página, descobri que, se a metatag estiver localizada abaixo das tags de script ou apenas muito longe do topo da <head>
árvore do DOM, o IE10 chora e define o modo de documento como padrões do IE8. Portanto, mantenha sua IE=edge
meta tag próxima à <title>
tag. Nem sempre é uma correção simples para sites do Wordpress quando não está codificado no arquivo de modelo de cabeçalho. Não tenho certeza se o IE11 se importa com a meta tag, mas espero que isso seja útil para alguém.
Tente adicionar a seguinte tag na cabeça
<meta http-equiv="X-UA-Compatible" content="IE=11,IE=10,IE=9,IE=8" />
IE=Edge
em vez
A metatag não faz nada nos sites da intranet e meu problema foi a renderização do IE10 no modo de compatibilidade do IE10. O que resolveu o problema para mim foi levar a resposta de @ Jeow ainda mais e usar esse valor em um cabeçalho http, adicionando o seguinte ao web.config
IIS:
<system.webServer>
<httpProtocol>
<customHeaders>
<clear />
<!-- <add name="X-UA-Compatible" value="IE=edge" /> not good enough -->
<add name="X-UA-Compatible" value="IE=11,IE=10,IE=9,IE=8" />
</customHeaders>
</httpProtocol>
</system.webServer>
Para fins do IE, os sites da intranet incluem sites voltados ao público que não são roteados para o exterior - por exemplo, um funcionário do Stackoverflow que trabalha no escritório provavelmente veria o stackoverflow.com no modo de compatibilidade.
Funcionou perfeitamente para mim quando fiz o seguinte:
Em http://msdn.microsoft.com/en-us/library/gg699338(v=vs.85).aspx
Usaram o exemplo exato que eles fornecem na primeira caixa (adicionou o número ausente </html>
na parte inferior), abriu-a no IE10 e os padrões foram forçados; acho que você pode precisar de conteúdo real no html para forçar os padrões, mas não tenho certeza.
Minha sugestão seria substituir seu código vazio pelo conteúdo real (algo simples) e ver o que ele faz.