← Wszystkie wpisy

Poradniki

Auto-rozwijanie „pokaż więcej", spoilerów i komentarzy

Sekcje komentarzy zwinięte do trzech wpisów. Długie posty ucięte „czytaj dalej". FAQ schowane w akordeonach. Treść jest na stronie — tylko schowana za przyciskiem. Ta reguła klika wszystkie te przyciski za Ciebie.

Wzorzec

Przyciski „rozwiń" mają jedną z dwóch cech rozpoznawczych: tekst w stylu „pokaż więcej" / „show more", albo atrybut aria-expanded="false". Reguła łapie oba i klika.

Reguła

JavaScript reguły:

const RE = /pokaż więcej|czytaj dalej|rozwiń|show more|read more|expand/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 });

Jak to działa

Regex na tekst plus aria-expanded

Jedno wyrażenie regularne, kilka wariantów po polsku i angielsku, flaga i ignoruje wielkość liter. Niezależnie sprawdzamy aria-expanded="false" — to standardowy atrybut akordeonów, działa nawet bez pasującego tekstu.

Znacznik jzExpanded

Po kliknięciu elementu ustawiamy na nim data-jz-expanded. Następnym razem funkcja go pomija. Bez tego znacznika wpadlibyśmy w pętlę: klik rozwija sekcję, sekcja zmienia DOM, MutationObserver odpala funkcję, ta klika ten sam przycisk znowu.

MutationObserver

Komentarze i listy często doładowują się po starcie strony. MutationObserver obserwuje cały <body> i wywołuje expandAll za każdym razem, gdy coś dojdzie do DOM-u — więc rozwijane są też przyciski, których przy starcie jeszcze nie było.

Pułapki

Zobacz też

Zainstaluj JustZix — i przestań klikać „pokaż więcej" w kółko.

Oceń ten wpis

Brak ocen — oceń jako pierwszy.

Wypróbuj samodzielnie

Zainstaluj JustZix i wklej dowolny snippet z tego artykułu. Dwie minuty od zera do działającej reguły na wszystkich Twoich urządzeniach.

Pobierz JustZix

Funkcje · Jak to działa · Przykłady · Zastosowania