Como o Modo de Exibição de Compatibilidade no IE funciona nos bastidores

5

Quando eu conecto remotamente ao meu PC de trabalho, no IE10, o serviço de cliente remoto do zimbro, que é basicamente um plug-in executado no navegador, não é executado. Eu preciso ativar a visualização de compatibilidade para vê-lo. Minha pergunta é o que exatamente está acontecendo nos bastidores na visão de compatibilidade de tal forma que um grande número de problemas de compatibilidade pode ser corrigido com isso? O que eles fizeram ... fazer uma lista de APIs obsoletas que estava sendo executada ok no ie8, mas foram descontinuadas no ie10 e, em seguida, ao clicar na visualização de compatibilidade, essas APIs são suportadas novamente?

    
por Kaushik 11.04.2013 / 21:11
fonte

1 resposta

6

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:

  1. 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.
  2. 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
  3. 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 !

    
por 12.04.2013 / 20:54
fonte