IE: Por que o Modo de Exibição de Compatibilidade desaparece em alguns sites?

25

O IE9 exibe o botão Modo de compatibilidade para alguns sites, mas não para outros. Para os outros, ainda posso ativá-lo adicionando-o via Ferramentas > Compatibility View Settings e, em seguida, ele se comporta como esperado.

Por que esse botão não aparece sempre? Existe uma maneira de substituir isso?

    
por tsilb 27.11.2010 / 23:18

4 respostas

26

A presença do botão depende desse tipo de metatag:

<meta http-equiv="X-UA-Compatible" content="IE=edge">

Modos de compatibilidade de documentos

Com versões recentes do Internet Explorer, esses modos podem controlar os recursos que são suportados pelas páginas da Web e as maneiras como as páginas são exibidas.

  • IE=EmulateIE8 mode informa ao Internet Explorer para usar a diretiva para determinar como renderizar o conteúdo. As diretivas do modo padrão são exibidas no modo de padrões do Internet Explorer 8 e as diretivas de modo peculiar são exibidas no modo IE5. Ao contrário do modo IE8, o modo Emular do IE8 respeita a diretiva.

  • IE=EmulateIE7 diz ao Internet Explorer para usar a diretiva para determinar como renderizar conteúdo. As diretivas de modo padrão são exibidas no modo de padrões do Internet Explorer 7 e as diretivas de modo peculiar são exibidas no modo IE5. Ao contrário do modo IE7, o modo Emular do IE7 respeita a diretiva. Para muitos sites, esse é o modo de compatibilidade preferido:

  • IE=5 renderiza o conteúdo como se fosse exibido pelo modo quirks do Internet Explorer 7, que é muito semelhante à maneira como o conteúdo era exibido no Internet Explorer 5.

  • IE=7 renderiza o conteúdo como se fosse exibido pelo modo de padrões do Internet Explorer 7, independentemente de a página conter uma diretiva.

  • IE=8 suporta muitos padrões estabelecidos, incluindo a Especificação Nível 2.1 das Folhas de Estilo em Cascata do W3C e a API Seletores do W3C; ele também fornece suporte limitado para a Especificação Nível 3 do W3C Cascading Style Sheets (Working Draft) e outros padrões emergentes.

  • IE=9 fornece o suporte mais alto disponível para padrões industriais estabelecidos e emergentes, incluindo o HTML5 (Rascunho de Trabalho), Especificações de Nível 3 do Cascading Style W3C (Rascunho de Trabalho), Scalable Vector Graphics (SVG) 1.0 Specification, e outros.

  • IE=Edge informa ao Internet Explorer para exibir conteúdo no modo mais alto disponível. Com o Internet Explorer 8, isso equivale ao modo IE8.

Se uma versão futura (hipotética) do Internet Explorer oferecer suporte a um modo de compatibilidade mais alto, as páginas definidas para o modo de borda aparecerão no modo mais alto suportado por essa versão. Essas mesmas páginas aparecerão no modo IE8 quando visualizadas com o Internet Explorer 8; e no modo IE9 quando visualizado com o Internet Explorer 9.

Resumo

O IE não apresentará o botão "Compatibility View" se:

  • o conteúdo da meta tag é igual à versão do IE que você está usando; ou
  • o conteúdo da meta tag está definido como IE=edge .

Referência

Definindo a compatibilidade de documentos (Internet Explorer)

    
por 27.11.2010 / 23:52
8

Além da tag <meta> , conforme explicado na resposta de Brian :

Se isso acontecer para sites locais (intranet): parece que as preferências padrão sempre fazem sites de intranet serem executados no modo de compatibilidade e, pior ainda, não mostram o botão.

Desativando os "Exibir sites de intranet em A definição de compatibilidade "Configuração também faz com que o botão apareça para sites locais, para que você possa desativá-lo. Tenha em atenção que o Compatibilty View Settings só está listado no menu "completo" (prima Alt-T), não no ícone de engrenagem abreviada:

Comoalternativa, faça o IE não reconhecer os sites da intranet mais.

    
por 28.11.2010 / 00:02
1

De acordo com este abrangente artigo do MSDN sobre Compatibility View , o A lista a seguir descreve diferentes maneiras de ativar o Modo de Exibição de Compatibilidade:

  • Você clica no botão Exibição de compatibilidade na barra de endereços ao visualizar uma página da web. Quando exibido, esse botão aparece à esquerda do botão Atualizar e contém uma imagem de um pedaço de papel quebrado. Isso ativa o Modo de Exibição de Compatibilidade para todos os documentos no domínio do site que está sendo visualizado.
  • A configuração "Exibir todos os sites no Modo de compatibilidade" nas Configurações de exibição de compatibilidade está ativada.
  • A configuração "Recuperar automaticamente de erros de layout de página com o Modo de Exibição de Compatibilidade" é ativada e uma página da Web para de responder ou trava o navegador. Quando isso acontece, o Internet Explorer abre a página no Modo de Exibição de Compatibilidade após a recuperação do problema.
  • As políticas de grupo que identificam sites a serem abertos no Modo de Exibição Compatível são ativadas pelo administrador do seu computador.
  • Você usou as ferramentas do desenvolvedor F12 para alterar o modo do navegador para identificar o Internet Explorer como uma versão anterior do navegador.
  • A Lista de exibição de compatibilidade está ativada, o que define uma lista de sites exibidos automaticamente no Modo de Exibição de Compatibilidade.

Para desativar / substituir o Modo de Exibição de Compatibilidade, você terá que fazer o contrário das ações sugeridas acima.

A lista do Modo de Exibição de Compatibilidade é um arquivo XML mantido pela Microsoft.

To remove your site from the Compatibility View List (or to dispute the removal of your site from the list), have the overall site owner verify that the domain site appears in the Compatibility View List. If it does, send an e-mail to [email protected] that contains the following information:

Owner name Corporate title Company name Street address Email address Telephone number Website address

Microsoft will review the provided information and remove your site from the Compatibility View List at the next scheduled update.

    
por 20.07.2012 / 20:02
0

Acabei de passar um tempo tentando determinar por que o ícone de visualização de compatibilidade não está disponível em um dos domínios da minha empresa, quando parece que ele não atende a qualquer das condições descritas em as outras respostas para essa pergunta.

A explicação é que "X-UA-Compatible" não precisa ser uma metatag. Ele também pode ser especificado como um cabeçalho HTTP (não faz parte do conteúdo HTML), e esse é o caso do domínio com o qual estou tendo problemas.

Esta página do MS tem mais detalhes, muitos dos quais aparecem na resposta do SgtOJ: link

    
por 16.06.2014 / 07:11