Pergunta

Eu estou testando uma bastante complexa aplicação web baseada em Javascript no Internet Explorer 8 no Windows Vista. Depois de carregar o aplicativo, IE está em "padrões" modo de navegação e "8 padrões IE" modo de documento. Enquanto o aplicativo é executado, IE, às vezes, recarregue a página e exibir uma mensagem dizendo algo como "Um problema de exibição com (URL) causou Internet Explorer para recarregar a página no modo de compatibilidade" (não a mensagem exata, eu estou em um versão do Vista não-Inglês). Após a recarga, o navegador está em modo Quirks.

Depuração o código Javascript tem sido um exercício de futilidade já que o problema não pode ser confiavelmente reproduzida ou estreitada para baixo, então eu apreciaria qualquer visão sobre o que poderia causar este comportamento.

Foi útil?

Solução

Deve haver um problema com a marcação você está servindo / criando via innerHTML. Aqui está um artigo da equipe do IE, que inclui detalhes do IE auto-recuperação de marcação que é impossível analisar corretamente no IE8-standards-mode:

... há determinados caminhos de código dentro do novo mecanismo de layout onde, deve ocorrer um erro, o processo de layout não pode graciosamente recuperar e mantivemos afirmações em torno destes caminhos ... Nós refinado esta experiência ainda mais no versão do IE8 lançado pela recuperação de layout “hard afirma” usando Exibição de Compatibilidade. Em outras palavras, acreditamos que mostra uma página da maneira IE7 teria oferece uma experiência de usuário melhor do que mostrar nenhum conteúdo em tudo.

Note que o uso de innerHTML invoca o analisador HTML, por isso poderia desencadear este problema, mesmo após a página é carregada, se alimentados com uma string HTML não pode fazer pé nem cabeça.

Outras dicas

confira aqui ..

basicamente. por página, você pode adicionar uma meta tag

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

ou, local em toda a adicioná-lo ao cabeçalho:

X-UA-Compatible: IE=EmulateIE7

automática Bater recuperação ocorrendo no próprio processador. Isso é um bug em si IE em vez de seus scripts, de modo a depuração vai ser realmente duro.

Isso acontece em todos os IE8 instala? IE8 é atualizado com as últimas correções? (Poderia ser uma extensão de terceiros não confiáveis?)

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