Estou usando as novas ferramentas de desenvolvedor do Internet Explorer 11 para mudar o modo de documento para "8", mas os comentários condicionais ainda são ignorados, ou seja, eles não são analisados corretamente e se comportam como comentários normais. Portanto, qualquer arquivo referenciado dentro do comentário condicional não é solicitado / carregado pelo navegador.
Por que isso acontece? É um bug?
Se você acha que este é realmente um bug que precisa ser corrigido, entre e diga que você também pode reproduzi-lo no relatório de bug da Microsoft relatado para este problema:
Comentários condicionais não funcionam ao emular modos de documento por meio do Desenvolvedor F12 ferramentas .
Atualização: Este problema foi relatado para ser corrigido no relatório de bug mencionado.
fonte
Respostas:
De acordo com
Jacob Rossi [MSFT]
Isso foi postado em 22 de abril de 2014.
Ao executar alguns testes, parece que isso foi corrigido e tudo está funcionando perfeitamente novamente para testar o navegador mais incrível já produzido ... Internet Explorer!
fonte
Eu apenas tentei usar isso no Internet Explorer 11 no Windows 7 para ter certeza de que meus elementos semânticos HTML5 usados estavam sendo criados para o Internet Explorer 8 e inferior (por meio de comentários condicionais), e o navegador simplesmente os ignorou. -_-
Esse recurso funcionou perfeitamente bem no Internet Explorer 10 , e a Microsoft teve que mexer nele, não foi?
Além disso, estou gostando do Internet Explorer, o que é uma mudança.
fonte
Isso funcionou para mim e parece ser a solução mais elegante / fácil ( Internet Explorer 10 e Internet Explorer 11 , acho que são os únicos navegadores que suportam
-ms-high-contract
):fonte
Recentemente, tive o mesmo problema. Também descobri que alguns comentários condicionais funcionam:
gt
elt
funcionou bemgte
elte
nunca funcionouPortanto, uma solução potencial seria alterar as instruções condicionais para usar os operadores
gt
elt
.A outra alternativa, que achei mais útil, era usar um serviço como o browserstack .
fonte
Eu tenho outra solução para isso.
Internet Explorer 11 com o modo de compatibilidade do Internet Explorer 8 ativado contém a string 'MSIE 8.0', portanto:
(Exemplo de PHP)
fonte
Eu tive o mesmo problema - me deixou maluco a manhã toda. Eu adicionei Modernizr e selecionei todas as opções, incluindo yepnope.js.
Então agora meu teste se parece com este:
Nesse caso, eu testo a tela (que não é compatível antes do Internet Explorer 9), então carrego meu conteúdo condicional. Isso agora funciona ao alternar os modos do navegador nas ferramentas de desenvolvedor do Internet Explorer 11.
fonte
Eu não vi isso mencionado aqui, mas neste relatório de bug é observado que, se você alterar as configurações de visualização de compatibilidade, os comentários condicionais funcionam como esperado. Assim:
Parece estar funcionando bem agora no meu host local. Não testei extensivamente, mas talvez ajude alguém.
fonte
Alguns dos comentários condicionais estão funcionando, como '
gt
' e 'lt
', mas<!--[if IE 8]>
não estão funcionando , por exemplo . Isso certamente é inconveniente para desenvolvedores que desejam testar a aparência de suas páginas da Web em diferentes versões dos navegadores Internet Explorer, mas nem tudo é uma má notícia.Embora os comentários condicionais não estejam funcionando, você ainda pode testar a aparência de sua página da web em cada uma das versões do Internet Explorer anexando as folhas de estilo uma de cada vez: digamos que você tenha uma folha de estilo para Firefox, Chrome, Internet Explorer 10 e Internet Explorer 11 chamada '
screen.css
', e outra folha de estilo SOMENTE para Internet Explorer 9 chamada 'screen-ie9.css
' e outra SOMENTE para Internet Explorer 8 chamada 'screen-ie8.css
'.Para testar suas páginas da web SOMENTE para o Internet Explorer 9, você pode fazer o seguinte:
e nas ferramentas de desenvolvedor F12, seção Emulação, defina o 'Modo de documento' como '9' e a 'Sequência do agente do usuário' como 'Internet Explorer 9'. O Modo de documento é o padrão usado pelo Internet Explorer 9 e a string do agente do usuário é o próprio navegador.
PS: Estou assumindo que '
screen.css
' é sua folha de estilo base, razão pela qual estou chamando-a primeiro, em vez de "sobrescrever" as correções do Internet Explorer 9 posteriormente chamando 'screen-ie9.css
' em segundo lugar.Ao fazer isso, você pode ter "certeza" (tenho que testar com VMs para escrever a palavra 'certeza' sem aspas) de que está visualizando sua página da Web em um navegador Internet Explorer 9. Quando terminar de testar e definir estilos no Internet Explorer 9 e quiser testar com o Internet Explorer 8, você pode facilmente fazer o mesmo truque substituindo este:
com isso:
Portanto, é apenas uma questão de PEQUENO inconveniente da parte da Microsoft, MAS as novas ferramentas dos desenvolvedores F12 estão oferecendo MUITOS recursos incríveis, o que torna isso não muito grande.
fonte