Überprüfen der dynamischen Webseite mit Firebug oder Chrome Dev Tools, wenn sich der Inhalt ständig ändert

3192
bakytn

Wenn ich DOM Inspect verwenden möchte, um einige Web-Apps zu ändern, die ihre DOM-Struktur zu oft ändern, werden Firebug- und Chrome-Inspector auf diese Änderungen zurückgeführt, sodass ich sie nicht prüfen kann.

Wenn ich mich auf ein Element konzentriere und es besser sehen möchte und das Element entfernt wird, kann ich dieses Element normalerweise nicht inspizieren.

Gibt es eine Möglichkeit, die Webseite an einem bestimmten Punkt "einzufrieren" oder nur die DOM-Änderungen im Inspektor nur für diese Tools einzufrieren?

6

1 Antwort auf die Frage

6
TwoD

In Chrome und Chromium können Sie mit der rechten Maustaste auf einen Knoten auf der Registerkarte Elemente / Inspector der Entwicklerwerkzeuge klicken und festlegen, dass die Teilbaumänderung, die Attributänderung und der Knoten entfernt werden. Obwohl Sie keine Bedingungen für diese Haltepunkte hinzufügen können, z. B. nur, wenn eine bestimmte Variable einen bestimmten Wert enthält, sind dies die besten Optionen, die ich gefunden habe.

In Firefox werden die Ereignisse, die Sie unterbrechen können, durch Klicken auf die Schaltfläche zum Erweitern von Fenstern auf der rechten Seite der Registerkarte Debugger gefunden.

Die Änderung der Teilbaumstruktur ist sehr nützlich, wenn Sie nicht wissen, wo das DOM geändert wird. Setzen Sie diese Bedingung einfach auf den Body-Knoten (oder höher) und das Skript, das das DOM unter dem Body-Knoten ändert, wird sofort angehalten. Dies ist auch sehr nützlich, wenn ein Knoten, den Sie untersuchen möchten, noch nicht vorhanden ist. Sie wissen jedoch, wo der Knoten eingefügt wird, damit Sie den übergeordneten Knoten ändern können.

Das DOM wird im Wesentlichen in dem Zustand eingefroren, in dem es sich befindet, kurz bevor die tatsächliche Änderung eintritt (wenn ein Knoten eingefügt wird), wobei sich der Skript-Debugger auf der Zeile befindet, die die Änderung ausgelöst hat.

Ein Problem besteht darin, dass das Browserfenster eine Überlagerung erhält, die jegliche Interaktion mit dem Browser verhindert, selbst wenn Sie mit der rechten Maustaste klicken und andere zu inspizierende Elemente auswählen. Es ist weiterhin möglich, andere Knoten zu überprüfen, indem Sie sie auf der Registerkarte Elemente auswählen oder indem Sie im linken oberen Bereich des Werkzeugfensters auf das Symbol "Element auf der Seite auswählen, um es zu untersuchen" klicken.

Wenn Sie schauen, zu untersuchen, was die DOM aussieht, wenn bestimmte Elemente :focused, :hover, :active, oder :visitedkönnen Sie auch die Staaten durch das Rechtsklick - Menü in der Registerkarte Elemente erzwingen.

Wenn ich nicht verstehe, worum es bei dieser Antwort geht, kann man Firefox manuell einschalten, indem der Debugger geöffnet wird und entweder auf die Pause-Schaltfläche geklickt wird oder F8 gedrückt wird. [Dies] (https://hacks.mozilla.org/2013/11/firefox-developer-tools-episode-27-edit-as-html-codemirror-more/) legt nahe, dass Firefox auch "DOM-Ereignisse unterbrechen" kann. . epimorphic vor 9 Jahren 0
Vielen Dank, ich habe die Antwort aktualisiert und eine Notiz zu den Ereignissen von Firefox hinzugefügt. Es scheint, dass es möglicherweise nur möglich ist, alle Mouseover-Ereignisse auf der Seite aufzubrechen, und nicht nur für ein bestimmtes Element. TwoD vor 9 Jahren 0