Estou trabalhando para um cliente que força o modo de compatibilidade em todos os sites da intranet. Eu queria saber se existe uma tag que eu possa colocar no meu HTML que force o modo de compatibilidade.
html
internet-explorer
Al Katawazi
fonte
fonte
Respostas:
Existe o modo "borda" .
Na página vinculada do MSDN:
No entanto, o modo "borda" não é incentivado no uso da produção:
Sinceramente, não entendo completamente o porquê. Mas, de acordo com isso, o melhor caminho a seguir no momento é usar
IE=8
.fonte
IE=10
em seus próprios sites. Se você testou seu site no IE10 (versão de pré-visualização), é seguro usá-lo; caso contrário, você pode se manterIE=9
por enquanto.Tools->Compatibility View Settings
e marcando Exibir todos os sites no modo de compatibilidade. Para corrigir o problema, eu tenho que voltar o cabeçalho na resposta HTTP:X-UA-Compatible: IE=edge
Após muitas horas solucionando problemas com esse material ... Aqui estão alguns destaques rápidos que nos ajudaram nos
X-UA-Compatible
documentos: http://msdn.microsoft.com/en-us/library/cc288325(VS.85).aspx#ctl00_contentContainer_ctl16Usando
<meta http-equiv="X-UA-Compatible" content=" _______ " />
Os modos Standard User Agent (os não emulados) ignoram as
<!DOCTYPE>
diretivas da sua página e são renderizados com base nos padrões suportados por essa versão do IE (por exemplo,IE=8
obedecerão melhor ao espaçamento das bordas da tabela e a alguns pseudo-seletoresIE=7
).Visto que, os modos Emular dizem ao IE para seguir quaisquer
<!DOCTYPE>
diretrizes em sua página, renderizando o modo padrões com base na versão escolhida e o modo peculiaresIE=5
Os valores possíveis para o
content
atributo são:content="IE=5"
content="IE=7"
content="IE=EmulateIE7"
content="IE=8"
content="IE=EmulateIE8"
content="IE=9"
content="IE=EmulateIE9"
content="IE=edge"
fonte
Se você estiver trabalhando com uma página na Zona da Intranet, poderá descobrir que o IE9, não importa o que faça, está entrando no modo Compatibilidade do IE7.
Isso ocorre devido à configuração nas configurações de compatibilidade do IE, que indica que todos os sites da Intranet devem ser executados no modo de compatibilidade. Você pode desmarcar isso por meio de uma política de grupo (ou simplesmente desmarcá-la no IE) ou pode definir o seguinte:
Isso funciona (conforme detalhado em outras respostas), mas pode não aparecer inicialmente: ele precisa vir antes que as folhas de estilo sejam declaradas . Caso contrário, será ignorado.
fonte
Eu acredito que isso fará o truque:
fonte
Conforme sugerido nesta resposta a uma pergunta relacionada, o modo "borda" pode ser definido no arquivo Web.Config. Isso o aplicará a todo o HTML retornado do aplicativo sem a necessidade de inseri-lo em páginas individuais:
Essa mesma etapa também pode ser realizada modificando os "Cabeçalhos de resposta HTTP" usando o Gerenciador do IIS para o servidor IIS, site inteiro ou aplicativos específicos.
fonte
A solução de metatag não estava funcionando para nós, mas a configuração no cabeçalho da resposta funcionou:
fonte
chrome=1
propriedade stackoverflow.com/a/22059516/368691 . Lembre-se de que o Chrome Frame foi retirado. blog.chromium.org/2013/06/retiring-chrome-frame.htmlApenas mais algumas notas sobre esse tópico com base em minhas experiências recentes. A universidade em que trabalho para emitir laptops com o IE 8 está definida no modo de compatibilidade para todos os sites da intranet. Tentei adicionar a metatag para desativar esse modo nas páginas veiculadas pelo meu site, mas o IE ignorou essa tag de forma consistente. Como Lance mencionou em seu post, adicionar um cabeçalho de resposta corrigiu esse problema. É assim que eu defino o cabeçalho com base no método clichê HTML5:
Para que este cabeçalho seja realmente enviado, você precisa ter o mod_headers ativado no Apache. Se você quiser ter certeza de que este mod está ativado, coloque-o em uma página que possa executar o php:
fonte
O IE8 padroniza o modo de padrões para o intERnet e o modo de peculiaridades para o intRAnet. A metatag HTML é ignorada se você tiver o doctype definido como xhtml transitional. A solução é adicionar um cabeçalho HTTP no código. Isso funcionou para nós. Agora, o site da intranet está forçando o IE8 a renderizar o aplicativo no modo de padrões.
Adicionado ao PageInit da classe de página base (ASP.net C #):
referência: http://ilia.ws/archives/196-IE8-X-UA-Compatible-Rant.html
fonte
Isso ocorre devido à configuração nas configurações de compatibilidade do IE, que indica que todos os sites da Intranet devem ser executados no modo de compatibilidade. Você pode desmarcar isso por meio de uma política de grupo (ou simplesmente desmarcá-la no IE) ou pode definir o seguinte:
Aparentemente, não é possível alterar as configurações de exibição de compatibilidade como uma diretiva de grupo, mas é algo que talvez possa ser alterado no registro; essa metatag funciona bem para mim; tive que fazer o atributo necessário funcionar como parte de um formulário html , funcionou no chrome e no firefox, mas não no IE.
Aqui está um belo visual de quais navegadores suportam cada elemento html 5 individual.
http://html5readiness.com/
Observe o denominador comum do Google Chrome, ele suporta tudo. Espero que isso ajude
fonte
Insira como o primeiro item sob a tag.
Isso força o IE a renderizar a página na versão física do IE e ignora a "Configuração do modo" do navegador. Isso pode ser definido nas ferramentas do desenvolvedor, tente alterá-lo para uma versão mais antiga do IE para testar, isso deve ser ignorado e a página deve ter a mesma aparência.
fonte
Se você tiver acesso ao servidor, a maneira mais confiável de fazer isso é fazê-lo no próprio servidor, no IIS. Acesse Cabeçalhos de resposta HTTP do IIS. Adicionar nome:
Valor compatível com X-UA : IE = edge Isso substituirá seu navegador e seu código.
fonte
Se você deseja que cada página da Web individual carregue o conteúdo escolhido e esteja usando asp.net. Basta aplicá-lo como a primeira tag abaixo da tag de cabeçalho em Views> shared> Layout.cshtml
apenas uma dica
fonte