it-swarm.com.de

Verwendung des Chrome-Netzwerk-Debuggers mit Weiterleitungen

Der Chrome Netzwerk-Debugger gibt mir einen guten Ü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 Debug-Seiten, die aus dem einen oder anderen Grund automatisch neu geladen werden (Skript ausführen oder 300 Antworten).

Kann ich Chrome nicht den Netzwerk-Debugger löschen, wenn eine neue Seite der obersten Ebene geladen wird? Oder kann ich zurückgehen und die Netzwerkressourcen der vorherigen Seite anzeigen?

Oder kann ich es irgendwie erzwingen, Chrome vor dem Laden einer neuen Seite eine Pause einzulegen, wenn ich die Seite, die ich zu debuggen versuche, nicht kontrolliere, umzuleiten? Es ist Teil eines OpenID-Tanzes, der schief geht Die Kombination von SSL und Anmeldeinformationen macht das Debuggen mit Befehlszeilentools extrem schwierig.

334
Leopd

Dies wurde seit v32 geändert, danke an @Daniel Alexiuc & @Thanatos für ihre Kommentare.


Aktuell (≥ 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.

Chrome v33 DevTools Network Tab: Preserve Log

Der kleine rote Punkt auf der linken Seite hat nun den Zweck, die Netzwerkprotokollierung vollständig ein- und auszuschalten.


ältere Versionen

In älteren Versionen von Chrome (v21 hier)) befindet sich ein kleiner, anklickbarer roter Punkt in der Fußzeile der Registerkarte "Netzwerk".

Chrome v22 DevTools Network Tab: Preserve Log Upon Navigation

Wenn Sie den Mauszeiger darüber halten, wird Ihnen mitgeteilt, dass das Protokoll bei der Navigation beibehalten wird, wenn es aktiviert wird. Es hält das Versprechen.

472
bfncs

Ich kenne keine Möglichkeit, Chrome um das Löschen des Netzwerk-Debuggers nicht zu erzwingen, aber dies könnte das bewirken, wonach Sie suchen:

  1. Öffnen Sie die js-Konsole
  2. window.addEventListener("beforeunload", function() { debugger; }, false)

Dies hält chrome vor dem Laden der neuen Seite an, indem ein Haltepunkt erreicht wird.

153
Matt York

Nur ein Update von @bfncs beantworten

Ich denke, um Chrome 43 das Verhalten wurde ein wenig geändert. Sie müssen immer noch Protokoll beibehalten aktivieren, um zu sehen, aber jetzt unter Andere Registerkarte umleiten, wenn geladenes Dokument unter Doc angezeigt wird.

Das verwirrt mich immer, weil ich viele Netzwerkanfragen habe und sie nach Typ XHR, Doc, JS usw. filtere. Aber im Falle einer Umleitung ist die Registerkarte Doc leer, also muss ich raten.

22
s-f

Eine weitere großartige Lösung, um die Netzwerkaufrufe zu debuggen, bevor auf andere Seiten umgeleitet wird, besteht darin, den Ereignisunterbrechungspunkt beforeunload auszuwählen

Auf diese Weise stellen Sie sicher, dass der Fluss unterbrochen wird, bevor er auf eine andere Seite umgeleitet wird. Auf diese Weise bleiben alle Netzwerkanrufe, Netzwerkdaten und Konsolenprotokolle erhalten.

Diese Lösung eignet sich am besten, wenn Sie die Antwort der Anrufe überprüfen möchten

Chrome beforeunload event break point

PS: Sie können auch XHR-Haltepunkte verwenden, wenn Sie direkt vor einem bestimmten Anruf oder einem beliebigen Anruf anhalten möchten (siehe Bildbeispiel) XHR break point

16
Ofear