Einige plattformübergreifende DevTools-Funktionen, die Sie vielleicht noch nicht kennen

Avatar of Pankaj Parashar
Pankaj Parashar am

DigitalOcean bietet Cloud-Produkte für jede Phase Ihrer Reise. Starten Sie mit 200 $ kostenlosem Guthaben!

Ich verbringe viel Zeit in den DevTools, und ich bin sicher, Sie auch. Manchmal wechsle ich sogar zwischen ihnen hin und her, besonders wenn ich plattformübergreifende Probleme debugge. DevTools sind den Browsern selbst sehr ähnlich – nicht alle Funktionen in den DevTools eines Browsers sind in den DevTools eines anderen Browsers gleich oder werden dort unterstützt.

Aber es gibt einige plattformübergreifende DevTools-Funktionen, sogar einige weniger bekannte, die ich Ihnen jetzt vorstellen werde.

Der Kürze halber verwende ich in diesem Artikel "Chromium", um alle Chromium-basierten Browser wie Chrome, Edge und Opera zu bezeichnen. Viele der DevTools darin bieten exakt die gleichen Funktionen und Möglichkeiten wie die anderen, daher ist dies nur meine Kurzform, um sie alle gleichzeitig zu bezeichnen.

Knoten im DOM-Baum suchen

Manchmal ist der DOM-Baum voller Knoten, die in Knoten verschachtelt sind, die in andere Knoten verschachtelt sind und so weiter. Das macht es ziemlich schwierig, genau den zu finden, den Sie suchen, aber Sie können den DOM-Baum schnell mit Cmd + F (macOS) oder Ctrl + F (Windows) durchsuchen.

Zusätzlich können Sie auch mit einem gültigen CSS-Selektor, wie z. B. .red, oder mit einem XPath, wie z. B. //div/h1, suchen.

DevTools screenshots of all three browsers.
Textsuche in Chrome DevTools (links), Selektoren in Firefox DevTools (Mitte) und XPath in Safari DevTools (rechts)

In Chromium-Browsern springt der Fokus automatisch zum Knoten, der den Suchkriterien entspricht, während Sie tippen. Das kann störend sein, wenn Sie mit längeren Suchanfragen oder einem großen DOM-Baum arbeiten. Glücklicherweise können Sie dieses Verhalten deaktivieren, indem Sie zu Einstellungen (F1) → VoreinstellungenGlobalWährend der Eingabe suchenDeaktivieren gehen.

Nachdem Sie den Knoten im DOM-Baum gefunden haben, können Sie die Seite scrollen, um den Knoten in den Ansichtsbereich zu bringen, indem Sie mit der rechten Maustaste auf den Knoten klicken und "In Ansicht scrollen" auswählen.

Showing a highlighted node on a webpage with a contextual menu open to scroll into view

Auf Knoten von der Konsole aus zugreifen

DevTools bietet viele verschiedene Möglichkeiten, direkt von der Konsole aus auf einen DOM-Knoten zuzugreifen.

Zum Beispiel können Sie $0 verwenden, um auf den aktuell ausgewählten Knoten im DOM-Baum zuzugreifen. Chromium-Browser gehen noch einen Schritt weiter und ermöglichen es Ihnen, auf Knoten zuzugreifen, die in umgekehrter chronologischer Reihenfolge der historischen Auswahl ausgewählt wurden, mit $1, $2, $3 usw.

Currently selected node accessed from the Console in Edge DevTools

Eine weitere Funktion von Chromium-Browsern ist die Möglichkeit, den Knotenpfad als JavaScript-Ausdruck in Form von document.querySelector zu kopieren. Dies geschieht durch Rechtsklick auf den Knoten und Auswahl von **Kopieren** → **JS-Pfad kopieren**, der dann zum Zugriff auf den Knoten in der Konsole verwendet werden kann.

Hier ist eine weitere Möglichkeit, direkt von der Konsole auf einen DOM-Knoten zuzugreifen: als temporäre Variable. Diese Option ist verfügbar, indem Sie mit der rechten Maustaste auf den Knoten klicken und eine Option auswählen. Diese Option ist in den DevTools jedes Browsers unterschiedlich bezeichnet.

  • Chromium: Rechtsklick → "Als globale Variable speichern"
  • Firefox: Rechtsklick → "In Konsole verwenden"
  • Safari: Rechtsklick → "Element protokollieren"
Screenshot of DevTools contextual menus in all three browsers.
Zugriff auf einen Knoten als temporäre Variable in der Konsole, wie in Chrome (links), Firefox (Mitte) und Safari (rechts) gezeigt

Elemente mit Badges visualisieren

DevTools können helfen, Elemente zu visualisieren, die bestimmten Eigenschaften entsprechen, indem neben dem Knoten ein Badge angezeigt wird. Badges sind klickbar, und verschiedene Browser bieten eine Vielzahl unterschiedlicher Badges.

In Safari gibt es eine Badge-Schaltfläche in der Symbolleiste des Elements-Panels, mit der die Sichtbarkeit bestimmter Badges umgeschaltet werden kann. Wenn beispielsweise ein Knoten eine CSS-Deklaration display: grid oder display: inline-grid hat, wird daneben ein grid-Badge angezeigt. Ein Klick auf das Badge hebt Rasterbereiche, Spaltengrößen, Zeilennummern und mehr auf der Seite hervor.

A grid overlay visualized on top of a three-by-three grid.
Rasterüberlagerung mit Badges in Safari DevTools

Die aktuell in den DevTools von Firefox unterstützten Badges sind in den Quellcode-Dokumenten von Firefox aufgeführt. Ein scroll-Badge kennzeichnet beispielsweise ein scrollbares Element. Ein Klick auf das Badge hebt das Element hervor, das den Überlauf verursacht, mit einem overflow-Badge daneben.

Overflow badge in Firefox DevTools located in the HTML panel

In Chromium-Browsern können Sie mit der rechten Maustaste auf einen beliebigen Knoten klicken und "Badge-Einstellungen..." auswählen, um einen Container zu öffnen, der alle verfügbaren Badges auflistet. Elemente mit scroll-snap-type haben beispielsweise ein scroll-snap-Badge daneben, das bei einem Klick die scroll-snap-Überlagerung auf diesem Element umschaltet.

Screenshots machen

Wir können schon seit einiger Zeit Screenshots mit einigen DevTools machen, aber jetzt ist dies in allen verfügbar und bietet neue Möglichkeiten, vollständige Seitenaufnahmen zu machen.

Der Vorgang beginnt mit einem Rechtsklick auf den DOM-Knoten, den Sie erfassen möchten. Wählen Sie dann die Option zum Erfassen des Knotens, deren Bezeichnung je nach verwendetem DevTool variiert.

Screenshot of DevTools in all three browsers.
Chrome (links), Safari (Mitte) und Firefox (rechts)

Wiederholen Sie die gleichen Schritte für den html-Knoten, um einen vollständigen Seiten-Screenshot zu machen. Beachten Sie jedoch, dass Safari die Transparenz der Hintergrundfarbe des Elements beibehält – Chromium und Firefox erfassen sie als weißen Hintergrund.

Two screenshots of the same element, one with a background and one without.
Vergleich von Screenshots in Safari (links) und Chromium (rechts)

Es gibt noch eine weitere Option! Sie können einen "responsiven" Screenshot der Seite machen, mit dem Sie die Seite in einer bestimmten Viewport-Breite erfassen können. Wie Sie vielleicht erwarten, hat jeder Browser andere Wege, dorthin zu gelangen.

  • Chromium: Cmd + Shift + M (macOS) oder Ctrl + Shift + M (Windows). Oder klicken Sie auf das Symbol "Geräte" neben dem Symbol "Inspizieren".
  • Firefox: Extras → Browser-Tools → "Responsive Design-Modus"
  • Safari: Entwickeln → "Responsive Design-Modus aktivieren"
Enter responsive mode options in DevTools for all three browsers.
Starten des Responsive Design-Modus in Safari (links), Firefox (rechts) und Chromium (unten)

Chrome-Tipp: Inspect the top layer

Chrome ermöglicht es Ihnen, Top-Layer-Elemente wie Dialoge, Alerts oder Modals zu visualisieren und zu inspizieren. Wenn ein Element zum #top-layer hinzugefügt wird, erhält es ein top-layer-Badge daneben. Ein Klick darauf springt Sie zum Top-Layer-Container, der sich direkt nach dem </html>-Tag befindet.

Die Reihenfolge der Elemente im top-layer-Container folgt der Stapelreihenfolge, was bedeutet, dass das letzte Element oben liegt. Klicken Sie auf das reveal-Badge, um zum Knoten zurückzuspringen.

Firefox-Tipp: Jump to ID

Firefox verknüpft das Element, das das ID-Attribut referenziert, mit seinem Ziel-Element im selben DOM und hebt es mit einer Unterstreichung hervor. Verwenden Sie CMD + Klick (macOS) oder CTRL + Klick (Windows), um zum Ziel-Element mit dem Bezeichner zu springen.

Zusammenfassung

Ziemlich viele Dinge, oder? Es ist fantastisch, dass es einige unglaublich nützliche DevTools-Funktionen gibt, die sowohl in Chromium, Firefox als auch Safari unterstützt werden. Gibt es weitere weniger bekannte Funktionen, die von allen dreien unterstützt werden und die Sie mögen?

Es gibt ein paar Ressourcen, die ich griffbereit halte, um auf dem Laufenden zu bleiben. Ich dachte, ich teile sie hier mit Ihnen

  • DevTools Tips (Patrick Brosset): Eine kuratierte Sammlung hilfreicher plattformübergreifender DevTools-Tipps und Tricks.
  • Dev Tips (Umar Hansa): DevTools-Tipps, die direkt in Ihren Posteingang gesendet werden!
  • Can I DevTools?: Das Caniuse für DevTools.