desenv-web-rp.com

O 'tempo limite' do Internet Explorer?

No meu site, tenho uma única página que é atualizada dinamicamente via AJAX/JSON em uma página HTML simples.

Agora, esta página pode ficar aberta por até três ou quatro dias. Quando o deixei em execução no fim de semana, os dados congelaram, o servidor ainda estava funcionando perfeitamente e, após uma atualização, tudo começou a funcionar novamente. Portanto, minha pergunta é O Internet Explorer (ou mesmo outros navegadores) 'expirou'?

3
sphvn

Muitas perguntas vêm à minha:

  1. Qual versão do IE?
  2. Qual foi o código que estava fazendo a ligação?
  3. O que o navegador fez quando você voltou alguns dias depois?
  4. O que os logs do servidor da web indicam - houve retornos do servidor da web com códigos de erro que o JavaScript foi incapaz de manipular?

Geralmente, se você tiver um pedaço de código JavaScript que está sendo executado em um timer com setTimeout, ele será executado para sempre. Mas lembre-se de que os navegadores são software de desktop e, como tal, às vezes acontecem coisas no sistema que podem impactar esse navegador. É difícil especular sem saber com mais precisão quais eram as condições da sua experiência. É possível que o navegador tenha congelado por causa de algum outro software do sistema em execução. É possível que o DNS do sistema tenha ficado estranho por um tempo e, em seguida, o JavaScript não tenha lidado bem com esse problema. É possível que o servidor que está fornecendo o conteúdo tenha diminuído por um segundo e tenha retornado uma string incorreta que o seu JavaScript não suportava; então, a execução da página foi interrompida. Por fim, talvez o navegador fique temporariamente sem memória? Se os dados retornados também adicionaram conteúdo que adicionou eventos à página, talvez você simplesmente tenha ficado sem memória? Esse seria o caso se a página realmente "congelasse" - mas você provavelmente teria visto um alerta de memória de IE nesse caso.

Muitos detalhes sobre esta questão, e não são fornecidos detalhes suficientes.

2
artlung

Eu não esperaria que IE atingisse o tempo limite, mas se uma solicitação ajax falhar e não for possível tentar novamente. Uma boa maneira de confirmar isso seria usar o Firefox e baixar um plug-in chamado FireBug. Isso fornecerá um log de todas as solicitações http/ajax solicitadas na área de trabalho e mostrará se ele recebeu algum estado de erro de volta do servidor ou um erro de javascript.

2
AronHopkins