„Mehr anzeigen", Spoiler und Kommentare automatisch ausklappen
Kommentarbereiche auf drei Einträge zusammengeklappt. Lange Beiträge mit „weiterlesen" abgeschnitten. FAQs in Akkordeons versteckt. Der Inhalt ist auf der Seite — nur hinter einem Button verstaut. Diese Regel klickt all diese Buttons für dich.
Das Muster
Ausklapp-Buttons haben eines von zwei Erkennungsmerkmalen: Text wie „mehr anzeigen" / „weiterlesen" oder ein aria-expanded="false"-Attribut. Die Regel fängt beide und klickt.
Die Regel
Das JavaScript der Regel:
const RE = /mehr anzeigen|weiterlesen|alles anzeigen|aufklappen|show more|read more|see more|expand|view all/i;
function expandAll() {
document.querySelectorAll('button, a, [role="button"]').forEach(el => {
if (el.dataset.jzExpanded) return;
const hit = RE.test(el.textContent || '')
|| el.getAttribute('aria-expanded') === 'false';
if (hit) {
el.dataset.jzExpanded = '1';
el.click();
}
});
}
expandAll();
new MutationObserver(expandAll)
.observe(document.body, { childList: true, subtree: true });
Wie es funktioniert
Eine Text-Regex plus aria-expanded
Ein regulärer Ausdruck, ein paar Formulierungsvarianten, das i-Flag ignoriert Groß-/Kleinschreibung. Unabhängig davon prüfen wir aria-expanded="false" — das Standard-Akkordeon-Attribut, das auch ohne passenden Text funktioniert.
Der jzExpanded-Marker
Nach dem Klick auf ein Element setzen wir data-jz-expanded darauf. Beim nächsten Mal überspringt die Funktion es. Ohne diesen Marker würden wir in eine Schleife geraten: ein Klick klappt den Abschnitt aus, der Abschnitt ändert das DOM, der MutationObserver feuert die Funktion, sie klickt denselben Button erneut.
MutationObserver
Kommentare und Listen laden oft nach dem Seitenstart nach. Der MutationObserver beobachtet den ganzen <body> und ruft expandAll jedes Mal auf, wenn etwas zum DOM hinzukommt — also werden auch Buttons ausgeklappt, die beim Start noch nicht existierten.
Fallstricke
- Falschtreffer. Ein „mehr Produkte anzeigen", das den Shop endlos lädt, wird ebenfalls geklickt. Wenn es stört, verenge die Regex oder den Selektor auf einen bestimmten Container.
- Ein Mutationssturm. Auf sehr dynamischen Seiten feuert
expandAlloft. Es funktioniert, weil derjzExpanded-Marker jeden späteren Durchlauf billig macht — er überspringt, was bereits geklickt ist. - Spoiler mit Warnung. Einen Spoiler oder sensiblen Inhalt auszuklappen ist deine Entscheidung — die Regel unterscheidet „mehr anzeigen" nicht von „Inhalt für Erwachsene anzeigen".
Siehe auch
- Beispiele — mehr fertige JS-Regeln
- Auto-Pager — ein verwandtes Browsing-Automatisierungsmuster
- Output Console — sieh, was die Regel klickt
Installiere JustZix — und hör auf, immer wieder „mehr anzeigen" zu klicken.
Bewerte diesen Beitrag
Noch keine Bewertungen — sei der Erste.