Basicamente, o IE tenta encontrar o melhor modo de compatibilidade antes de renderizar a página com a versão mais recente de seu mecanismo, o IE10 no seu caso. Mas antes, o IE segue mais ou menos o fluxo dado:
- Verifica se há a meta tag no cabeçalho da página:
<meta http-equiv="X-UA-Compatible" content="IE=IEX" />
, onde "X" é 7, 8 ou 9. Quando uma página inclui essa meta, instrui o IE a exibi-la com o < modo strong> standards da versão do navegador, o que significa que ele usará o mecanismo padrão dessa versão. - Verifica se o conteúdo desta meta tag é algo como
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIEX" />
, agian, onde "X" é 7, 8, 9. Esta instrução é para exibir a página com o modo de compatibilidade do navegador fornecido. A diferença do modo de padrões é que aqui você basicamente diz a ele para usar o mecanismo de compatibilidade dessa versão. Pode ser útil se você quiser exibir uma página como se fosse o Internet Explorer 5.5, especificando (IE = Emulate7), já que o modo de compatibilidade do IE7 possibilitou a exibição de páginas legadas antigas projetadas para o IE 5.5 - Se nenhuma meta tag
X-UA-Compatible
for encontrada, o navegador renderizará a página com o mecanismo mais novo, A MENOS que você tenha escolhido explicitamente carregá-la no modo de compatibilidade ... Acho que é o seu caso, porque convenhamos 99.9999999999999999999% web páginas não especificam nenhum modo de compatibilidade: -)
Para resumir, o IE usa o modo padrão do mecanismo especificado OU emula completamente a renderização da página com um mecanismo anterior, permitindo assim que páginas herdadas sejam exibidas corretamente. Como eles usam um mecanismo diferente, isso pode explicar por que um plug-in funciona em um caso e não em outro.
Para obter informações muito mais detalhadas, consulte o artigo do MSDN sobre esse assunto .
Editar: descobriu que praticamente a mesma pergunta está disponível em Pro Webmasters SE !