6 Nützliche Bookmarklets zur Verbesserung der Webentwicklung

Avatar of Daniel Schwarz
Daniel Schwarz am

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

Ein Bookmarklet ist ein Lesezeichen, das auf JavaScript basiert und zu einem Webbrowser hinzugefügt wird. Ich möchte Ihnen einige großartige Webbrowser-Hacks zeigen, die Ihren Workflow in der Webentwicklung unterstützen, und wie Sie diese Hacks in zeitschonende Bookmarklets umwandeln.

  1. Designmodus aktivieren
  2. Einen Hintergrund für alles anwenden
  3. Ereignisse simulieren
  4. Cookies setzen
  5. Klassen umschalten
  6. Farb-Widget-Lesezeichen
  7. An welche anderen Bookmarklets können Sie denken?

Designmodus aktivieren

Der Designmodus (gestaltet als designMode, da es sich um eine *JavaScript-Eigenschaft* handelt) ist für diejenigen gedacht, die gerne mit Variationen von Text auf einer Live-Website experimentieren. Zum Beispiel Copywriter, die beobachten möchten, wie Inhalte im Fluss des Website-Designs gelesen werden, oder Designer, die sicherstellen möchten, dass Text bei einer bestimmten Schriftgröße bequem in einen bestimmten Bereich passt.

JavaScript verfügt über eine äußerst einfache Funktion, die ein ganzes HTML-Dokument editierbar rendert. Sie funktioniert *genau* wie das HTML-Attribut contenteditable="true" (oder contentEditable="true" in JavaScript), aber für das gesamte Dokument. Wenn Sie sehen möchten, wie es funktioniert, beginnen Sie, indem Sie mit der entsprechenden Tastenkombination die Konsole des Browsers öffnen

  • Chrome: Option + + J / Shift + CTRL + J
  • Firefox: Option + + K / Shift + CTRL + K
  • Safari: Option + + C / Shift + CTRL + C

Geben Sie als Nächstes document.designMode="on" in die Konsole ein, drücken Sie Enter und klicken Sie dann auf ein beliebiges Textelement. Sie werden sehen, dass dieses Textelement (und alle anderen Textelemente) nun einfach durch Anklicken editierbar sind. Diese Methode zur Bearbeitung von Text auf einer Live-Website ist *viel* schneller, als die DevTools öffnen, dann mit der rechten Maustaste klicken und die Option „Text bearbeiten“ auswählen zu müssen… und *viel* weniger mühsam.

Showing an edited version of the CSS-Tricks guide landing page using the design mode bookmarklet.
„Guides und Thangs“ – mein Lieblingsteil von CSS-Tricks

Obwohl ich mir nicht sicher bin, ob „Designmodus“ die genaueste Beschreibung der Funktion ist, ist sie dennoch äußerst nützlich und erstaunlicherweise schon sehr lange verfügbar.

Und was ist ein noch schnellerer Weg, ihn zu aktivieren? Ein Bookmarklet, natürlich! Erstellen Sie ein Lesezeichen mit javascript: document.designMode="on";void 0; als URL.

Showing the bookmarklet installation.

Einen Hintergrund für alles anwenden

Wenn HTML-Elemente keine Hintergründe haben, kann es schwierig sein, ihre Umrisse zu visualisieren und/oder die Abstände zu anderen Elementen genau zu messen. Entwickler möchten möglicherweise die Umrisse besser visualisieren, wenn sie sich mit optischer Unwucht (d. h. wenn etwas „falsch aussieht“, obwohl es das nicht tut), Margin Collapsing (wenn bestimmte Ränder ignoriert werden), verschiedenen Problemen mit display:/float:/position: usw. befassen.

Das Anwenden von Hintergründen bedeutet, allen HTML-Elementen einen halbtransparenten Hintergrund anzuwenden, um ihre Umrisse und Abstände besser zu visualisieren. Viele von uns tun dies üblicherweise, indem sie die DevTools öffnen und dann eine CSS-Deklaration wie selector { background: rgb(0 0 0 / 10%); } in das Feld „Styles“ eingeben. Aber auch hier ist es *wirklich* mühsam und repetitiv – und etwas, das wir mit einem Bookmarklet vereinfachen können.

Auch hier werden wir eine URL erstellen, um ein Lesezeichen zu erstellen. Hier ist, was wir für dieses hier verwenden können

javascript: document.querySelectorAll("*").forEach(element => element.style.background="rgb(0 0 0 / 10%)");

Wir verwenden einen halbtransparenten Hintergrund, da sich die Transparenz stapelt, wodurch sichergestellt wird, dass jedes verschachtelte Element unterscheidbar ist und die Abstände zwischen ihnen gemessen werden können.

Showing the CSS-Tricks guides landing page with all backgrounds fill with varying shades of gray.
Wenden Sie einen Hintergrund auf alles an, um zu sehen, was passiert.

Ereignisse simulieren

Mussten Sie jemals ein Webereignis testen, das zunächst eine Reihe von Interaktionen oder bestimmte Bedingungen erfordert? Es ist sehr zeitaufwändig, diese Art von Funktionalität testen oder debuggen zu müssen. Dieses Bookmarklet zur Ereignissimulation kann verwendet werden, um bestimmte Ereignisse sofort auszulösen und das Testen zu einem Kinderspiel zu machen.

Ein Ereignis zu simulieren bedeutet, einen „wegwerfbaren“ Button zu programmieren, der ein JavaScript-Ereignis auslöst, was es viel einfacher macht, das Ereignis schnell und wiederholt zu testen, ohne die üblichen benutzerbezogenen Bedingungen erfüllen zu müssen, wie z. B. eingeloggt sein zu müssen.

Unter der Annahme, dass Sie Ihre JavaScript-Ereignis-Listener eingerichtet haben, erstellen Sie für jedes Ereignis, das Sie auslösen/simulieren möchten, ein Lesezeichen und senden Sie die folgende URL

javascript: document.querySelector("SELECTOR").click();

Ersetzen Sie „SELECTOR“ durch Ihren eindeutigen Selektor, ersetzen Sie „click“ durch „focus“ oder „blur“ (falls erforderlich) oder erweitern Sie den Ausschnitt, um komplexere Ereignisse auszulösen, wie z. B. scroll.

Cookies setzen

Cookies sind Tokens, die von der besuchten Website auf dem Computer eines Website-Besuchers gespeichert werden. Cookies enthalten Daten, die von der Website, die sie erstellt hat, gelesen werden können, bis sie ihr Ablaufdatum überschritten haben oder gelöscht wurden. Allein die Existenz eines Cookies kann bestimmen, ob ein Besucher angemeldet ist oder nicht, während die Daten Benutzerinformationen speichern können.

Ein Beispiel für ein Szenario, in dem Sie möglicherweise ein Cookie mit einem Bookmarklet setzen möchten, ist, wenn Sie während des Website-Testings einen angemeldeten Zustand erzwingen möchten. Websites sehen oft sehr unterschiedlich aus für angemeldete Benutzer. Das Ein- und Ausloggen wird jedoch schließlich sehr mühsam, sodass dieses Bookmarklet eine ganze Menge Zeit sparen kann.

Manuell Ablaufdaten für Cookies einzugeben ist ziemlich umständlich, aber glücklicherweise kann diese App zum Erstellen eigener Cookie-Bookmarklets ein Bookmarklet für ein bestimmtes Cookie generieren, wenn Sie dessen genauen Namen kennen.

Klassen umschalten

Sie möchten möglicherweise eine Klasse zu einem HTML-Element hinzufügen oder daraus entfernen, um einen neuen Zustand oder eine optische Veränderung auszulösen, auch bekannt als Klassen umschalten. Das Umschalten von Klassen geschieht hinter den Kulissen der meisten Live-Websites, kann aber auch während des Testens verwendet werden, um die Erfüllung bestimmter benutzerbezogener Bedingungen zu überspringen.

Das Umschalten von Klassen kann verwendet werden, um optische Veränderungen (z. B. alternative Themen oder Zustände) und sogar Animationen auszulösen, aber es kann bei der Verwendung von Entwicklertools etwas fummelig sein, wenn es nur zu Testzwecken dient (d. h. die Website funktioniert für Benutzer nicht wirklich so). Ähnlich wie bei den anderen Bookmarklets verwenden Sie dieses, um Klassen schnell umzuschalten und Zeit zu sparen.

Erstellen Sie das folgende Bookmarklet, um alle Elemente anzusprechen, die Ihrem gewählten „SELECTOR“ entsprechen, was wiederum die „CLASS“ umschaltet.

javascript: document.querySelectorAll("SELECTOR").forEach(element => element.classList.toggle("CLASS"));

Farb-Widget-Lesezeichen

Obwohl dies technisch gesehen kein „Bookmarklet“ ist, öffnet dieser lesezeichenfähige Daten-URI von Scott Jehl ein <input type="color"> in einem neuen Tab

data:text/html;charset=utf-8,%3Chtml%3E%3Ctitle%3EColor Picker%3C%2Ftitle%3E%3Cinput type%3D"color"%3E%3C%2Fhtml%3E

Warum ist das cool? Nun, wie oft mussten Sie einen Farbwert von einer Seite abrufen und fanden sich dabei wieder, wie Sie die DevTools geöffnet haben, durch eine Reihe von Elementen geklickt und CSS-Eigenschaften durchforstet haben, um den Wert zu finden? Besser, Sie führen diesen kleinen Kerl aus, klicken auf das Element und erhalten sofort eine Farbe!

An welche anderen Bookmarklets können Sie denken?

Gibt es übermäßig repetitive Arbeitsabläufe in der Webentwicklung, bei denen Sie die manchmal umständlichen Entwicklertools des Webbrowsers verwenden müssen? Wenn ja, ist es *super einfach*, Ihre eigenen zeitschonenden Bookmarklets zu erstellen. Denken Sie nur daran, die URL mit javascript: beginnen zu lassen!

Und wenn Sie ein Bookmarklet zur Vereinfachung Ihres Workflows erstellt haben, würde ich es gerne sehen! Teilen Sie sie hier in den Kommentaren und lassen Sie uns eine schöne Sammlung zusammenstellen.