Der Chrome-Netzwerk-Debugger bietet mir einen hervorragenden Überblick über alle für eine Seite geladenen HTTP-Ressourcen. Die Liste wird jedoch gelöscht, wenn eine neue HTML-Seite der obersten Ebene geladen wird. Dies macht es sehr schwierig, Seiten zu debuggen, die aus dem einen oder anderen Grund automatisch neu geladen werden (Ausführen eines Skripts oder 300 Antworten).
Kann ich Chrome anweisen, den Netzwerk-Debugger nicht zu löschen, wenn eine neue Seite der obersten Ebene geladen wird? Oder kann ich zurückgehen und mir die Netzwerkressourcen der vorherigen Seite ansehen?
Oder kann ich Chrome irgendwie zwingen, vor dem Laden einer neuen Seite anzuhalten, wenn ich die Seite, die ich debuggen möchte und die die Umleitung durchführt, nicht kontrolliere? Es ist Teil eines OpenID-Tanzes, der schief geht. Die Kombination von SSL und Anmeldeinformationen macht das Debuggen mit Befehlszeilentools äußerst schwierig.
Antworten:
Dies wurde seit Version 32 geändert, danke an @Daniel Alexiuc & @Thanatos für ihre Kommentare.
Strom (≥ v32)
Oben auf der Registerkarte "Netzwerk" von DevTools befindet sich ein Kontrollkästchen zum Aktivieren der Funktion "Protokoll beibehalten". Wenn diese Option aktiviert ist, bleibt das Netzwerkprotokoll beim Laden der Seite erhalten.
Der kleine rote Punkt links dient nun dazu, die Netzwerkanmeldung vollständig ein- und auszuschalten.
ältere Versionen
In älteren Versionen von Chrome (v21 hier) befindet sich in der Fußzeile der Registerkarte "Netzwerk" ein kleiner, anklickbarer roter Punkt.
Wenn Sie mit der Maus darüber fahren, wird angezeigt, dass bei Aktivierung "Protokoll bei Navigation beibehalten" angezeigt wird. Es hält das Versprechen.
quelle
Ich kenne keine Möglichkeit, Chrome zu zwingen, den Netzwerk-Debugger nicht zu löschen, aber dies könnte das erreichen, wonach Sie suchen:
window.addEventListener("beforeunload", function() { debugger; }, false)
Dadurch wird Chrome angehalten, bevor die neue Seite geladen wird, indem ein Haltepunkt erreicht wird.
quelle
Aktualisieren Sie einfach die Antwort von @bfncs
Ich denke, um Chrome 43 herum wurde das Verhalten ein wenig geändert. Sie müssen weiterhin das Protokoll beibehalten aktivieren, um es anzuzeigen. Die Umleitung wird jetzt auf der Registerkarte Andere angezeigt, wenn das geladene Dokument unter Dokument angezeigt wird.
Das verwirrt mich immer wieder, da ich viele Netzwerkanforderungen habe und diese nach Typ XHR, Doc, JS usw. filtere. Im Falle einer Umleitung ist die Registerkarte Doc jedoch leer, sodass ich raten muss.
quelle
Eine weitere großartige Lösung zum Debuggen der Netzwerkaufrufe vor dem Umleiten auf andere Seiten ist die Auswahl des
beforeunload
EreignisunterbrechungspunktsAuf diese Weise stellen Sie sicher, dass der Datenfluss unterbrochen wird, bevor er auf eine andere Seite umgeleitet wird. Auf diese Weise sind alle Netzwerkanrufe, Netzwerkdaten und Konsolenprotokolle noch vorhanden.
Diese Lösung eignet sich am besten, wenn Sie überprüfen möchten, wie die Anrufe beantwortet werden
PS: Sie können auch XHR-Haltepunkte verwenden, wenn Sie direkt vor einem bestimmten Anruf oder einem Anruf anhalten möchten (siehe Bildbeispiel).
quelle
load
Ereignis können wir am Anfang anhalten und den Haltepunkt leicht einstellen. Vielen Dank!