si hago un error en el código y provocar un bucle infinito en javascript y sigue llamando alerta (), ¿hay una salida para detener el bucle?

StackOverflow https://stackoverflow.com/questions/894530

  •  23-08-2019
  •  | 
  •  

Pregunta

A veces uso código de depuración para alertar algo en javascript (por ejemplo, búsqueda de algo en la expresión regular), pero se olvide de un modificador y y la alerta es en un bucle infinito (o si el bucle coincide con el patrón 300 veces). Si el uso de Firefox, la alerta sigue saliendo, y no hay manera de cerrar la pestaña, incluso, la ventana o la aplicación.

Si fuerzo de salida, se cerrará todas las fichas e incluso otras ventanas de Firefox ... ¿hay realmente una manera de detener el bucle más gracia?

¿Fue útil?

Solución

La respuesta corta es:. No

Esta es una buena razón para usar Firebug y la función console.log. Que, irónicamente, hará que el "script de detención, ya que está huyendo de diálogo" para no mostrar en algunos casos, lo que significa que está justo donde se encuentra ahora.

Chrome y Opera tienen esta característica. IE no lo hace, Apple Safari tampoco.

No es una solución nativa, pero usted podría intentar este script grasa mono-: http://www.tumuski.com/2008/05/javascript-alert-cancel-button/

Además, podría , simplemente reemplazar la función de alerta de utilizar un cuadro de diálogo en lugar de confirmar y dejar de mostrar alertas si la confirmación se cancela:

var displayAlerts = true;

Y a continuación:

function alert(msg) {
  if (displayAlerts) {
     if (!confirm(msg)) {
       displayAlerts = false;           
     }
  }
}

Otros consejos

Parece que puedas en Firefox:

  1. Mantenga Ctrl
  2. HOLD enter
  3. Pulse F4 vez

De acuerdo con el blog, no funciona en todos los casos, más información aquí: puremango.co.uk

Google Chrome le permite evitar que las alertas adicionales no se muestre.

He escrito una extensión de Firefox para combatir este problema.

https://addons.mozilla.org/en-US/firefox / addon / 13176

De ninguna manera. Lo bueno es cuando la mayoría de los navegadores tienen una protección recursividad infinita, pero eso es offtopic.

Instalar Greasemonkey e ir a esta página: http://www.tumuski.com/2008/05/javascript -cancel-botón -alert /

Después de instalar este script para Greasemonkey, cualquier ventana de diálogo de alerta tendrá un botón que se detendrá el javascript cancelar.

[probado en IE 11] Si tiene que cerrar el navegador web y no desea Ctrl-Alt-Del por cualquier razón (en mi caso mi mala bucle infinito de alerta JavaScript se ejecuta en Citrix que recargar automáticamente mi última sesión después de un ctrl-alt-del de la memoria caché, que no puedo claro)

Puede insecto su salida por mantiene pulsado alt-F4 y envío de correo basura en la X (para cerrar la ventana del navegador).

Esto funciona muy rápido ... El Alt-F4 cierra las cajas de alerta muy rápido y usted notará el botón X en la parte superior de su navegador parpadeo. Esto le da muy pequeñas ventanas de tiempo en el que se puede cerrar entre las alertas.

Nota:. Si tiene varias pestañas abiertas que necesita para cerrarlas desde el icono de la barra de control en la parte inferior de la pantalla en primer lugar porque la "cerrar todas las pestañas mensaje" interferirá

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top