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

25

O IE9 exibe o botão Modo de compatibilidade em alguns sites, mas não em outros. Para os outros, ainda posso habilitá-lo adicionando-o em Ferramentas> Configurações do modo de exibição de compatibilidade e depois se comporta conforme o esperado.

insira a descrição da imagem aqui

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

tsilb
fonte

Respostas:

26

A presença do botão depende deste tipo de meta tag:

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

Modos de compatibilidade de documentos

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

  • IE=EmulateIE8 O modo diz ao Internet Explorer para usar a diretiva para determinar como renderizar conteúdo. As diretivas do modo padrões são exibidas no modo de padrões do Internet Explorer 8 e as diretivas do modo quirks são exibidas no modo IE5. Diferente do modo IE8, o modo Emular IE8 respeita a diretiva.

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

  • IE=5 renderiza o conteúdo como se fosse exibido no modo de peculiaridades do Internet Explorer 7, muito semelhante à maneira como o conteúdo foi exibido no Internet Explorer 5.

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

  • IE=8 suporta muitos padrões estabelecidos, incluindo a especificação W3C Cascading Style Sheets Level 2.1 e a API W3C Selectors; ele também fornece suporte limitado para a especificação de nível 3 das folhas de estilo em cascata W3C (rascunho de trabalho) e outros padrões emergentes.

  • IE=9 fornece o mais alto suporte disponível para padrões estabelecidos e emergentes do setor, incluindo HTML5 (Working Draft), W3C Cascading Style Sheets Level 3 Specification (Working Draft), Scalable Vector Graphics (SVG) 1.0 Specification e outros.

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

Se uma versão futura (hipotética) do Internet Explorer oferecer suporte a um modo de compatibilidade mais alta, as páginas definidas no 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 no Internet Explorer 8; e no modo IE9 quando visualizado no Internet Explorer 9.

Sumário

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

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

Referência

Definindo a compatibilidade de documentos (Internet Explorer)

SgtOJ
fonte
2
Por que, no entanto, pode-se esperar que os sites para tornar muito bem, assumindo que o site criador deu a tag algum pensamento ...
Arjan
8

Além da <meta>etiqueta, como explicado na resposta de Brian :

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

Desabilitar a configuração "Exibir sites da intranet no Modo de Exibição de Compatibilidade" faz com que o botão apareça também em sites locais, para que você possa desativá-lo. Lembre-se de que as Configurações de exibição de compatibilidade estão listadas apenas no menu "completo" (pressione Alt-T), não no ícone de engrenagem abreviada:

texto alternativo texto alternativo texto alternativo

Como alternativa, faça o IE não reconhecer mais sites da intranet .

Arjan
fonte
2
Isso ocorre porque muitas empresas, sites da intranet e aplicativos da Web internos foram programados para trabalhar no IE6. A Microsoft sabia que a maioria dos usuários do IE6 eram funcionários forçados a usar o IE6. Fazer com que todo o site seja executado no modo de compatibilidade por padrão fez uma transição mais suave, mas não suave, para uma versão atualizada do IE. Se muitas empresas fossem como [editadas], esse seria o caso. Você precisa se lembrar que mudar custa dinheiro. As empresas se preocupam apenas com dinheiro. Edite o nome da empresa para protegê-los . Essa empresa nem mudou para uma versão de atualização até que o hack do Google / China aconteceu.
SgtOJ
@ Brian, acho que você está certo. Que pena: uma solução muito melhor seria ativá- lo por padrão. Essa estúpida preferência do IE não apenas ativa o modo de compatibilidade, mas também oculta completamente o botão de compatibilidade.
Arjan #
Uau. Nunca soube disso. Estava me enlouquecendo o dia todo até eu encontrar sua postagem. Obrigado!
System Down
O que acontece se você não deseja o modo de compatibilidade, mas a opção "Exibir sites da intranet no Modo de Exibição de Compatibilidade" está marcada? Isso substitui a <meta http-equiv="X-UA-Compatible" content="IE=edge">tag? Ou a metatag substitui a caixa de seleção de configuração de compatibilidade?
Ben
@ Ben, já faz um tempo desde que eu tive que usar o IE, mas acho que a ativação de "Exibir sites da intranet no Modo de Exibição Compatível" seria de fato substituída <meta http-equiv="X-UA-Compatible" content="IE=edge">. Não estou 100% de certeza, mas eu lembro de ter sido muito irritado por não não entender por que páginas foram visualizadas mal, então eu só posso supor que essas páginas fez incluir a tag então. Mas então, talvez eu não sabia sobre isso tag daqueles dias ...
Arjan
1

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

  • Você clica no botão Modo de exibição de compatibilidade na barra de endereços ao exibir 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 habilita o Modo de Exibição de Compatibilidade para todos os documentos no domínio do site que está sendo visualizado.
  • A opção "Exibir todos os sites no modo de compatibilidade" nas Configurações de exibição de compatibilidade está ativada.
  • A configuração "Recuperar automaticamente dos erros de layout da página com o Modo de exibição de compatibilidade" está ativada e uma página da Web pára 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 se recuperar do problema.
  • As diretivas de grupo que identificam sites a serem abertos no Modo de Exibição de Compatibilidade são ativadas pelo administrador do seu computador.
  • Você usou as ferramentas de 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, que define uma lista de sites que são exibidos automaticamente no modo de exibição de compatibilidade.

Para desativar / substituir o Modo de Exibição de Compatibilidade, você deverá fazer o inverso das ações sugeridas acima.

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

Para remover seu site da Lista de exibição de compatibilidade (ou contestar a remoção do site da lista), peça ao proprietário geral do site que verifique se o site do domínio aparece na lista de exibição de compatibilidade. Se houver, envie um email para [email protected] que contenha as seguintes informações:

Nome do proprietário Título da empresa Nome da empresa Endereço Rua Endereço de e-mail Número de telefone Endereço do site

A Microsoft revisará as informações fornecidas e removerá o site da Lista de exibição de compatibilidade na próxima atualização agendada.

mvark
fonte
0

Passei um tempo tentando determinar por que o ícone da exibição de compatibilidade não está disponível em um dos domínios da minha empresa, quando ele não pareceu atender a nenhuma das condições descritas nas outras respostas a esta pergunta.

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

Esta página da MS tem mais detalhes, muitos dos quais aparecem na resposta da SgtOJ: http://msdn.microsoft.com/en-us/library/jj676915(v=vs.85).aspx

Scott Leis
fonte