Espandi automaticamente «mostra altro», spoiler e commenti
Sezioni commenti ridotte a tre voci. Post lunghi tagliati con «leggi tutto». FAQ nascoste in accordion. Il contenuto è nella pagina — solo riposto dietro un pulsante. Questa regola clicca tutti quei pulsanti per te.
Il pattern
I pulsanti di espansione hanno una di due tracce: un testo come «mostra altro» / «leggi tutto», o un attributo aria-expanded="false". La regola cattura entrambi e clicca.
La regola
Il JavaScript della regola:
const RE = /mostra altro|leggi tutto|mostra tutto|espandi|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 });
Come funziona
Una regex sul testo più aria-expanded
Una sola espressione regolare, qualche variante di formulazione, il flag i ignora maiuscole/minuscole. Indipendentemente controlliamo aria-expanded="false" — l'attributo standard degli accordion, che funziona anche senza testo corrispondente.
Il marcatore jzExpanded
Dopo aver cliccato un elemento gli impostiamo data-jz-expanded. La volta successiva la funzione lo salta. Senza quel marcatore finiremmo in un ciclo: un clic espande la sezione, la sezione cambia il DOM, il MutationObserver attiva la funzione, essa riclicca lo stesso pulsante.
MutationObserver
I commenti e le liste spesso si caricano dopo l'avvio della pagina. Il MutationObserver osserva tutto il <body> e chiama expandAll ogni volta che qualcosa si aggiunge al DOM — così vengono espansi anche i pulsanti che all'avvio non esistevano.
Trappole
- Falsi positivi. Un «mostra altri prodotti» che carica il negozio all'infinito verrà anch'esso cliccato. Se dà fastidio, restringi la regex o il selettore a un contenitore specifico.
- Una tempesta di mutazioni. Su pagine molto dinamiche
expandAllsi attiva spesso. Funziona perché il marcatorejzExpandedrende ogni passaggio successivo poco costoso — salta ciò che è già cliccato. - Spoiler con avviso. Espandere uno spoiler o contenuto sensibile è una tua decisione — la regola non distingue «mostra altro» da «mostra contenuto per adulti».
Vedi anche
- Esempi — altre regole JS pronte all'uso
- Auto-pager — un pattern di automazione della navigazione affine
- Output Console — osserva cosa clicca la regola
Installa JustZix — e smetti di cliccare «mostra altro» di continuo.
Valuta questo articolo
Nessuna valutazione — sii il primo.