Wie verhindere ich, dass Chrome-Entwicklertools geschlossen werden, wenn das aktuelle Browserfenster geschlossen wird?

77

Ich versuche, die Chrome-Entwicklertools zu verwenden, um ein Problem mit Twitter zu beheben.

Wenn das oauth-Fenster angezeigt wird, öffne ich die Entwicklertools, um die Anforderungen zu überwachen. Sobald das oauth-Fenster geschlossen wird, wird auch das Entwickler-Tools-Fenster geschlossen. Ich möchte in der Lage sein, das Fenster der Entwicklertools geöffnet zu halten, damit ich die gestellten Anforderungen überprüfen kann.

Ist das möglich?

AlistairH
quelle
2
Zu Ihrer Information , ich habe gerade einen Fehler gegen Chromium eingereicht: crbug.com/171447 .
Mu Mind
Ab dem 15. Dezember 2017 ist crbug.com/171447 behoben.
Tom_mai78101
@ tom_mai78101 wie aktiviere ich es?
John Balvin Arias

Antworten:

83

Keine perfekte Lösung, aber Sie können Haltepunkte zu den Ereignissen hinzufügen Window.closeund unloaddie Kontrollkästchen aktivieren unter:

Developer tools -> "Sources" tab -> Event Listener Breakpoints -> Window -> close

Und

Event Listener Breakpoints -> Load -> unload

Versuchen Sie, beide zu markieren und herauszufinden, welches für Sie am besten geeignet ist

jfhfhf839
quelle
4
Weiß jemand, warum das nicht der Trick für mich ist? Das Fenster schließt sich immer noch.
Rubinous
Ich glaube, ich habe das gleiche Problem. Ich habe ein Entwicklerfenster für meine App geöffnet, aber der oauth-Prozess öffnet ein neues Fenster und daher sind meine Haltepunkte nicht vorhanden. Ich sehe das Entwicklerfenster platzen und mit dem Oauth-Fenster schließen ...
seufz
25

Eine andere Möglichkeit besteht darin, selbst manuell einen Haltepunkt hinzuzufügen. Öffnen Sie das Fenster, das zu schnell geschlossen wird, öffnen Sie die JS-Konsole und:

window.addEventListener('unload', function() { debugger; })

Aber es kommt darauf an, was genau das Fenster tut und wann genau Sie die Dinge stoppen möchten. Daher ist es auch eine gute Idee, mit Ereignis-Listener-Haltepunkten auf der Registerkarte Quellen zu experimentieren, wie in der Antwort von @ jfhfhf839.

In meinem Fall (Debuggen von Google OAuth Flow) hat der Trick weder funktioniert Window -> Closenoch war er nützlich, obwohl ich die Ausführung einige Male fortsetzen musste, bevor ich dort ankam, wo ich wollte.Load -> UnloadScript > Script First Statement

tobek
quelle
Für IE können Sie verwenden: window.attachEvent("onunload", function() { debugger; })
Freddie
5

Versuchen Sie es mit Remote-Debugging: https://developers.google.com/chrome-developer-tools/docs/remote-debugging In diesem Fall werden die Entwicklertools in einem separaten Browser-Tab geöffnet, der nicht automatisch geschlossen wird.

Ziehen Sie auch in Betracht, einen Haltepunkt im Code festzulegen, der das Fenster schließt, wenn Sie ihn finden können.

vsevik
quelle
Dies funktioniert möglicherweise beim Debuggen von Chrome unter Android, bei meinem Computer jedoch nicht. Ich ging zu chrome: // inspect / # pages, fand die Registerkarte, drückte auf inspect, aber die Entwicklungswerkzeuge schlossen immer noch, wenn das Fenster geschlossen wurde.
tobek