Acabei de instalar o IE9 beta e, em um site específico que criei (HTML5), o IE9 salta para o modo de compatibilidade, a menos que seja solicitado manualmente. Eu tentei remover várias partes do site, mas nenhuma alteração. Incluindo a remoção de todas as inclusões CSS. Em algum outro site meu, tudo corre bem.
Além disso, não defina manualmente, porque o IE9 lembra a configuração do usuário e você não pode voltar para a automática (ou pelo menos não encontrei como, nem mesmo através da navegação privada e do cache de esvaziamento)
De qualquer forma. O site em que ele passa para o modo de compatibilidade: http://alliancesatwar.com/guide/
Um em que ele torna correto: http://geuze.name/basement/ (não consigo postar mais de um hiperlink)
Ambos usam o mesmo doctype
e tudo. Esses sites têm muito em comum (além da aparência), usando o mesmo modelo básico (codificação, metatags, doctype e o mesmo javascript)
Seria ótimo se alguém tivesse uma resposta para mim! Um site HTML5 que é renderizado no modo IE7 é bastante ... coxo.
Respostas:
Funciona no documentMode do IE9 para mim.
Sem um
X-UA-Compatible
cabeçalho / meta para definir um documentMode explícito, você obterá um modo com base em:Você pode alterar essas configurações em 'Ferramentas -> Configurações de exibição de compatibilidade' no menu do IE. É claro que esse menu agora está oculto, então você não o verá até pressionar Alt.
Como autor do site, se você está confiante de que seu site está em conformidade com os padrões (é renderizado bem em outros navegadores e usa o sniffing de recursos para decidir quais soluções alternativas de navegador usar), sugiro usar:
ou o cabeçalho HTTP:
para obter o renderizador mais recente, independentemente da versão do IE em uso.
fonte
<meta>
tags precisam estar dentro dos primeiros 512 bytes de um arquivo HTML processado. Eu digo "processado" porque você pode ter todos os tipos de PHP lá em cima, mas o código processado é o que é importante. Cheguei aonde coloquei todos os meus comentários<meta>
abaixo das<meta>
tags, para não quebrar o requisito.Eu coloco
primeira coisa depois
(Eu li em algum lugar, não me lembro)
Eu não podia acreditar que funcionou !!
fonte
<script>
s<head>
antes destameta
declaração, (IE = borda) será ignorada.Para forçar o IE a renderizar no modo de padrões IE9, você deve usar
Algumas condições podem fazer com que o IE9 entre nos modos de compatibilidade. Por padrão, isso pode ocorrer em sites da intranet.
fonte
IE=edge
, o que sempre invoca o uso do mecanismo mais recente disponível.Publiquei este comentário em um thread StackOverflow separado, mas achei que valia a pena repetir aqui:
Para nosso aplicativo ASP.Net interno, adicionar a tag "X-UA-Compatible" na página da web, no web.config ou no code-behind não fez absolutamente nenhuma diferença.
A única coisa que funcionou para nós foi desativar manualmente essa configuração no IE8:
(Suspiro.)
Esse problema parece ocorrer apenas com o IE8 e IE9 nos sites da intranet. Sites externos funcionarão bem e usarão a versão correta do IE8 / 9, mas, para sites internos, o IE9 decidirá repentinamente que na verdade é o IE7 e não tem suporte para HTML5.
Não, eu também não entendo essa lógica.
Minha solução relutante foi testar se o navegador tem suporte para HTML 5 (criando uma tela e testando se é válido) e exibindo esta mensagem ao usuário se não for válida:
Não é particularmente fácil de usar, mas fazer com que o usuário desative essa configuração irritante parece ser a única maneira de permitir que eles executem aplicativos da Web HTML 5 internos adequadamente.
Ou peça aos usuários que usem o Chrome. ;-)
fonte
O site em http://www.HTML-5.com/index.html possui a meta tag X-UA-Compatible, mas ainda entra no Modo de Exibição de Compatibilidade, conforme indicado pelo ícone "página rasgada" na barra de endereços. Como você obtém a opção de menu para forçar o IE 9 (versão final 9.0.8112.16421) a renderizar uma página no modo de padrões? Tentei clicar com o botão direito do mouse no ícone da página rasgada e no truque da tecla "Alt" para exibir as opções de menu adicionais mencionadas por Rene Geuze, mas elas não funcionaram.
fonte
application/xhtml+xml
, portanto, regras de análise XML são usadas; XML não suporta comentários condicionais. De qualquer forma, não faz sentido; o navegador deve escolher um modo antes de decidir quais comentários condicionais interpretar.Como um aparte em sites mais modernos, se você estiver usando instruções condicionais em sua tag html de acordo com o padrão, isso por algum motivo fará com que ie9 seja padronizado no modo de compatibilidade. A correção aqui é remover as instruções condicionais da tag html e adicioná-las à tag body, ou seja, fora da seção head. Dessa forma, você ainda pode usar essas classes na sua folha de estilos para direcionar navegadores mais antigos.
fonte
Parece bom para mim:
Tem certeza de que não fez as configurações globalmente ou algo assim? Esta é uma instalação limpa da versão beta no Windows 7. As ferramentas do desenvolvedor relatam que a página está padronizada no Modo Padrão IE9.
fonte
Recentemente, tive que resolver esse problema e aqui está o que fiz:
Primeiro de tudo, esta solução está relacionada ao ajuste do servidor Apache.
O segundo pensamento principal é que há um bug no IE9, o que significa que a meta tag não funcionará. Em vez desta solução, tente isso
descomente / ou adicione a seguinte linha
adicione as seguintes linhas
salve / reinicie o servidor Apache,
fonte