internet habilitar enable chrome javascript browser

javascript - habilitar - Error al cargar el recurso: net:: ERR_NETWORK_IO_SUSPENDED



enable javascript opera (2)

Busqué Stack Overflow y Google el mensaje de error específico en el título, pero no lo encontré (en el contexto de la codificación de JavaScript, no de la configuración del navegador). En mi sitio, hay cinco funciones que se llaman cada 10 segundos. Estas funciones hacen cosas como:

  1. Compruebe la bandeja de entrada del usuario para nuevos correos electrónicos
  2. Verifique la cuenta del usuario para nuevos mensajes instantáneos
  3. etc.

Sin embargo, si el usuario está conectado, pero está INACTIVO (no usa el mouse ni presiona ninguna tecla) durante unos 15 minutos, aparece el siguiente mensaje de error cuando "Inspecciono el elemento" con Chrome:

Failed to load resource: net::ERR_NETWORK_IO_SUSPENDED // (x 5) Uncaught Type Error: Cannot read property ''combinedfiletimeinput'' of undefined //one of my previously defined form values is now not defined

En este punto, el nuevo recuento de correos electrónicos del usuario, el recuento de IM nuevos, etc. quedan en blanco (mientras que antes eran enteros). Todo lo que el usuario tiene que hacer es actualizar la página o ir a otra página para volver a conectarse, por lo que no es un gran problema.

Mi solución de pirateo es usar un temporizador de JavaScript para cerrar la sesión automáticamente si no hay ninguno de los siguientes eventos en un período de 15 minutos:

  1. Click del raton
  2. Movimiento del mouse
  3. Presionar tecla

¿Hay alguna manera de evitar que se produzca este error "Error al cargar el recurso"?

ACTUALIZACIÓN: Esto parece ocurrir cuando el dispositivo del usuario duerme / hiberna mientras está conectado ... cuando el usuario reinicia el dispositivo. Aquí es cuando se puede ver el mensaje de error en el elemento de inspección de Chrome, Firebug, etc.

ACTUALIZACIÓN 10/02/2014: Ahora he condensado las cinco funciones de setTimeout en una gran función setTimeout. Además, se eliminó el formulario que contenía los tiempos de modificación en una entrada llamada "entrada de archivo combinada" y ahora manejo el archivo modificando los tiempos de manera diferente.

Aquí hay una captura de pantalla del registro de Chrome Developer Tools que muestra el error. He agregado "mysite" en lugar del nombre de mi sitio y "nombre de archivo" en lugar del nombre del archivo. También he blanqueado el nombre del archivo JavaScript externo, y todo lo que queda es .js (lo siento, pero estoy tratando de ser cuidadoso :)) Corté parte de la captura de pantalla, por lo que el texto sería lo suficientemente grande leer.

Como puede ver en la captura de pantalla, la solicitud procesa OK para las tres primeras solicitudes. Luego "dormí" ed mi dispositivo y luego volví a encender mi dispositivo. Ahí es donde las siguientes dos solicitudes son errores (en rojo). Después de estos primeros dos errores, las solicitudes comienzan a procesarse normalmente de nuevo (filas con texto negro, después de las filas con texto rojo). La consola muestra claramente el mensaje de error.


Por más que considere que las excepciones de captura deberían ser la cura general, podría intentar activar eventos falsos (mouse, desplazamiento, teclado) para ver si eso impediría que Chrome pasara al estado "inactivo".

Pregunta de desbordamiento de pila ¿ Cómo simular un clic de mouse con JavaScript? podría ser útil.


Solo resumir mis comentarios en la pregunta para la comunidad.

Después de algunas pruebas, parece que es imprescindible configurar el tiempo de espera de Ajax para cada llamada. Sin tiempos de espera, los errores NET :: tales como ERR_NETWORK_IO_SUSPENDED, ERR_INTERNET_DISCONNECTED, etc. harán que Ajax deje de ejecutarse y no se reanudará después de que la computadora se active.

Para jQuery:

$.ajax({ url: yourURL, timeout: 4000 });

Para XMLHttpRequest (XHR):

xhr.timeout = 4000;

Además, un manejador de excepciones es necesario para que su script capture los errores de conexión, de modo que su código JavaScript no se descomponga debido a comportamientos / valores inesperados.

Incluso con tiempos de espera y manejador de excepción, su aplicación arrojará errores NET ::, pero no dañarán su aplicación; podrías pensar en ellos como Avisos .