Contenido

¿Cuando nuestro javascript está demasiado tiempo ejecutándose?

7 Ene

+ 1

¿Cuantas veces nos hemos encontrado con una ventana como la de abajo al ejecutar un bucle realmente largo?

firefox_dialog

Seguramente muchas, pero ¿alguna vez te habías planteado que criterios iba a usar el navegador para lanzar dicho mensaje? Pues al parecer hay gente que si lo ha hecho y ha sacado las siguientes conclusiones:

  • Internet Explorer salta si se sobrepasan los 5 millones de declaraciones javascript. Puede modificarse directamente desde el registro de Windows.
  • Firefox interpreta que un script se ha vuelto inestable a los 10 segundos de ejecución. También podemos cambiarlo desde about:config.
  • Safari/WebKit indica en su código que el mensaje nos lo mostrará tras 5 segundos de ejecución de un script. Podemos incrementar este tiempo desde el menú desarrollo.
  • Chrome no especifica un tiempo concreto, pero se ha detectado que está entre los 5 y los 10 segundos de ejecución. Además es el más salvaje de todos ya que en lugar de parar el script no cierra la página completa.
  • Opera no tiene limitación de tiempo de scripts, algunas pruebas alcanzaron minutos de ejecución y Opera seguía ejecutando el script.

lo malo es que ninguno (al menos los que eh probado) indica donde esta el error,
obviamente la idea es ir tras los loops, y checkear que las condiciones se cumplan en un rango y no queden infinitamente ejecutandose, pero seria bueno si el navegador tirara alguna informacion.
el “depurar” de firefox no se que hace, a mi me cuelga el navegador

Comentar

#

Me reservo el derecho de eliminar y/o modificar los comentarios que contengan lenguaje inapropiado, spam u otras conductas no apropiadas en una comunidad civilizada. Si tu comentario no aparece, puede ser que akismet lo haya capturado, cada día lo reviso y lo coloco en su lugar. Siento las molestias.