it-swarm-es.com

¿Internet Explorer 'agota el tiempo de espera'?

Dentro de mi sitio web tengo una sola página que se actualiza dinámicamente a través de AJAX/JSON en una página HTML sin formato.

Ahora esta página se puede dejar abierta hasta por tres o cuatro días. Cuando lo dejé ejecutándose durante el fin de semana, los datos se habían congelado, el servidor seguía funcionando perfectamente y, después de una actualización, todo comenzó a funcionar nuevamente. Entonces mi pregunta es ¿Internet Explorer (o incluso otros navegadores) 'espera'?

3
sphvn

Muchas preguntas vienen a la mía:

  1. ¿Qué versión de IE?
  2. ¿Cuál fue el código que estaba haciendo la llamada?
  3. ¿Qué hizo el navegador cuando regresó unos días después?
  4. ¿Qué indican los registros de su servidor web? ¿Hubo devoluciones del servidor web con códigos de error que JavaScript no pudo manejar?

En general, si tiene un fragmento de código JavaScript que se ejecuta en un temporizador con setTimeout, se ejecutará para siempre. Pero recuerde que los navegadores son software de escritorio y, como tal, a veces le ocurren cosas al sistema que pueden afectar ese navegador. Es difícil especular sin saber con mayor precisión cuáles fueron las condiciones de su experiencia. Es posible que el navegador se haya bloqueado debido a la ejecución de algún otro software del sistema. Es posible que el DNS del sistema se haya estropeado durante un tiempo, y luego JavaScript no manejó bien ese problema. Es posible que el servidor que sirve el contenido no funcione por un segundo y devuelva una cadena incorrecta que su JavaScript no pudo manejar, luego, la ejecución de la página se detuvo. Por último, ¿tal vez el navegador se quedó temporalmente sin memoria? Si los datos devueltos también agregaron contenido que agregó eventos a la página, ¿tal vez simplemente se quedó sin memoria? Este sería el caso si la página realmente se "congelara", pero es probable que haya visto una alerta de memoria de IE en ese caso.

Muchos entresijos para esta pregunta, y no se proporcionan suficientes detalles.

2
artlung

No esperaría que IE se agote el tiempo de espera, pero si una solicitud de ajax ha fallado y es posible que no intente volver a intentarlo. Una buena manera de confirmar esto sería usar Firefox y descargar un complemento llamado FireBug. Esto le dará un registro de todas las solicitudes http/ajax que se solicitan desde el escritorio y le mostrará si recibió algún estado de error del servidor o un error de JavaScript.

2
AronHopkins