Wie kann ich beim Durchlaufen von JavaScript-Code im Google Chrome-Debugger die Skriptausführung beenden, wenn ich nicht fortfahren möchte? Ich habe nur das Browserfenster geschlossen.
Durch Drücken von "Diese Seite neu laden" wird der Rest des Codes ausgeführt und es werden sogar Formulare gesendet, als ob Sie F8 "Weiter" drücken würden.
UPDATE :
Wenn Sie F5 (Aktualisieren) drücken, während ein Skript angehalten ist:
- Google Chrome (v22) führt das Skript aus. Wenn das Skript eine HTTP-Anforderung sendet, wird die HTTP-Antwort für diese Anforderung angezeigt. Die Originalseite wird nicht aktualisiert.
- IE 9 friert nur ein. IE hat jedoch eine Option "Debugging beenden", die das Skript außerhalb des Debuggers weiterhin ausführt, wenn sie gedrückt wird (vorausgesetzt, Sie haben zuvor nicht F5 gedrückt).
- Firebug verhält sich identisch mit Chrome.
Das Schließen und anschließende Öffnen des Browserfensters ist nicht immer der nächst einfachere Weg, da dadurch der Sitzungsstatus des Browsers beendet wird. Dies kann wichtig sein. Alle Ihre Haltepunkte gehen ebenfalls verloren.
UPDATE (Januar 2014) :
Beim Debuggen aktualisieren:
- Chrome v31: Ermöglicht die Ausführung von Skripten und stoppt an weiteren Haltepunkten (sendet jedoch keine Ajax-Anforderungen) und wird dann aktualisiert.
- IE 11: Aktualisieren bewirkt nichts, aber Sie können F5 drücken, um fortzufahren.
- Firefox v26: Ermöglicht die Ausführung von Skripten, stoppt jedoch nicht an weiteren Haltepunkten, sendet Ajax-Anforderungen und wird dann aktualisiert.
Art von Fortschritt!
Navigieren Sie beim Debuggen zur gleichen Seite:
- Chrome v31: wie Aktualisieren.
- IE 11: Skripte werden beendet, neue Browsersitzung wird gestartet (wie beim Schließen und erneuten Öffnen).
- Firefox v26: nichts passiert.
Auch Juacala schlug eine effektive Problemumgehung vor. Wenn Sie beispielsweise jQuery verwenden, wird durch Ausführen von delete $ from console die Ausführung gestoppt, sobald eine jQuery-Methode gefunden wird. Ich habe es in allen oben genannten Browsern getestet und kann bestätigen, dass es funktioniert.
UPDATE (März 2015) :
Nach über 2 Jahren und fast 10.000 Ansichten wurde die richtige Antwort von Alexander K. gegeben. Google Chrome verfügt über einen eigenen Task-Manager, der einen Tab-Prozess beenden kann, ohne den Tab selbst zu schließen, wobei alle Haltepunkte und andere Elemente intakt bleiben.
Ich ging sogar bis zu BrowserStack.com, um es in Chrome v22 zu testen, und stellte fest, dass dies auch zu diesem Zeitpunkt so funktionierte.
Die Problemumgehung von Juacala ist beim Debuggen in IE oder Firefox weiterhin hilfreich.
UPDATE (Januar 2019) :
Chrome Dev Tools hat endlich einen geeigneten Weg hinzugefügt, um die Skriptausführung zu stoppen, was nett ist (obwohl ein bisschen versteckt). Einzelheiten finden Sie in der Antwort von James Gentes.
debugger;
in die dev tools console ein und es werden sofort Dinge in den Debugger gestellt und das Skript gestoppt.