Pergunta

Eu tenho a seção a seguir no meu arquivo web.config

<system.webServer>
    <!-- For now..... lets be safe and put IE8 in IE7 compatibility mode-->
    <httpProtocol>
      <customHeaders>
        <clear />
        <add name="X-UA-Compatible" value="IE=EmulateIE7" />
      </customHeaders>
    </httpProtocol>
</system.webServer>

mas o

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

não está presente no cabeçalho das páginas quando elas são renderizadas no meu site. Eu segui o conselho neste post APP ASP.NET - Defina o modo IE7 -Compatibilidade? Mas não parece estar funcionando como esperado usando o IE8 e o IIS6. Alguma dica?

Foi útil?

Solução

Acontece que o problema era que estou usando Iis6. Iis6 olha para o <system.web> seção de web.config em vez do <system.webServer> Seção (que é usada pelo IIS7, a menos que esteja em execução no modo de compatibilidade). Para renderizar essa meta tag em todas as páginas do seu site ao executar o IIS6, acredito que a melhor opção é adicioná -la à sua página principal. Acabei adicionando o seguinte bloco de código ao evento Onprender da minha página Masterpage:

Page.Header.Controls.AddAt(0, new HtmlMeta { HttpEquiv = "X-UA-Compatible", Content = "IE=EmulateIE7" });

A razão pela qual usei addat em vez de acrescentar simples é porque a meta tag compatível com X-UA aparentemente deve ser a primeira coisa no cabeçalho da página para que ela seja respeitada.

Espero que isso ajude alguém no mesmo barco!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top