wenn ich einen Fehler im Code und verursachen eine Endlosschleife in JavaScript zu machen und es hält auf der Hut () aufrufen, gibt es eine Möglichkeit, um die Schleife zu stoppen?

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

  •  23-08-2019
  •  | 
  •  

Frage

Manchmal benutze ich Debug-Code etwas in Javascript zu alarmieren (zum Beispiel etwas in regulärem Ausdruck entspricht), aber vergessen, ein Modifikator und und die Warnung ist in einer Endlos-Schleife (oder wenn die Schleife entspricht das Muster 300-mal). Wenn Firefox verwendet, hält die Warnung auf herauskommen, und es gibt keine Möglichkeit, auch die Registerkarte zu schließen, um das Fenster oder die App.

Wenn ich Ausgang zwingen, wird es alle Registerkarten zu schließen und auch andere Fenster von Firefox ... Gibt es eigentlich eine Möglichkeit, die Schleife mehr anmutig zu stoppen?

War es hilfreich?

Lösung

Die kurze Antwort lautet:. Nein

Dies ist ein guter Grund, Firebug und die console.log Funktion zu verwenden. Welche ironischerweise die „Stopp-Skript, da es Dialog läuft weg ist“ verursachen in einigen Fällen nicht angezeigt werden, Sie bald wieder sind Sinn, wo Sie jetzt sind.

Chrome und Opera haben diese Funktion. IE nicht tut, tut Apple Safari auch nicht.

Nicht eine native Lösung, aber man könnte diesen Fett-Affen-Skript versuchen: http://www.tumuski.com/2008/05/javascript-alert-cancel-button/

Auch Sie könnte einfach die Alarm-Funktion außer Kraft setzen einen confirm zu verwenden Dialog statt und stoppen Alarme und Warnmeldungen angezeigt, wenn die Bestätigungs abgebrochen:

var displayAlerts = true;

Und dann:

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

Andere Tipps

Sieht aus wie Sie können in Firefox:

  1. Halten Sie Strg
  2. Halten Sie Enter
  3. Drücken Sie F4 einmal

Nach der Blog-Post, es funktioniert nicht in allen Fällen mehr Informationen hier: puremango.co.uk

Google Chrome können Sie zusätzliche Warnungen verhindern, zeigt.

Ich habe eine Firefox-Erweiterung geschrieben, dieses Problem zu bekämpfen.

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

Auf keinen Fall. Gute Sache ist, obwohl die meisten Browser unendliche Rekursion Schutz hat, aber das ist offtopic.

Installieren Greasemonkey und auf dieser Seite: http://www.tumuski.com/2008/05/javascript -alert-Cancel-Taste /

Nachdem Sie dieses Skript für Greasemonkey installieren, ein Alarmdialogfenster wird eine Taste abbrechen, die den Javascript zu stoppen.

[getestet auf IE 11] Wenn Sie den Web-Browser zu schließen und wollen nicht ctrl-alt-del welchen Grund auch immer (in meinem Fall meine schlechte Javascript unendlicher alert Schleife auf citrix ausgeführt wurde, die automatisch neu geladen würde meine letzte Sitzung nach einem ctrl-alt-del aus dem Cache-Speicher, kann ich nicht klar)

Sie können Fehler Ihren Weg durch gedrückt halten, Alt-F4 und Spamming die X (die Browser-Fenster schließen).

Das funktioniert wirklich schnell ... Die Alt-F4 schließt die Alertbox wirklich schnell, und Sie werden die X-Taste am oberen Rand des Browser Flimmern bemerken. Dies gibt Ihnen sehr kleine Zeitfenster, wo man es zwischen Warnungen schließen kann.

. Hinweis: wenn Sie mehrere Tabs öffnen Sie sie über das Symbol in der Kontrollleiste am unteren Rand des Bildschirms zunächst, weil die „alle Nachrichten-Tabs schließen“ schließen müssen interferieren

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top