← Todos los artículos

Tutoriales

Expande automáticamente «mostrar más», spoilers y comentarios

Secciones de comentarios reducidas a tres entradas. Posts largos cortados con «leer todo». FAQ ocultas en acordeones. El contenido está en la página — solo guardado tras un botón. Esta regla pulsa todos esos botones por ti.

El patrón

Los botones de expansión tienen una de dos pistas: un texto como «mostrar más» / «leer todo», o un atributo aria-expanded="false". La regla captura ambos y pulsa.

La regla

El JavaScript de la regla:

const RE = /mostrar más|leer todo|mostrar todo|expandir|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 });

Cómo funciona

Una regex sobre el texto más aria-expanded

Una sola expresión regular, algunas variantes de formulación, el flag i ignora mayúsculas/minúsculas. Independientemente comprobamos aria-expanded="false" — el atributo estándar de los acordeones, que funciona incluso sin texto coincidente.

El marcador jzExpanded

Tras pulsar un elemento le ponemos data-jz-expanded. La vez siguiente la función lo salta. Sin ese marcador acabaríamos en un bucle: un clic expande la sección, la sección cambia el DOM, el MutationObserver activa la función, esta vuelve a pulsar el mismo botón.

MutationObserver

Los comentarios y las listas a menudo se cargan tras el arranque de la página. El MutationObserver observa todo el <body> y llama a expandAll cada vez que algo se añade al DOM — así también se expanden los botones que en el arranque no existían.

Trampas

Mira también

Instala JustZix — y deja de pulsar «mostrar más» sin parar.

Valora este artículo

Sin valoraciones — sé el primero.

Pruébalo tú mismo

Instala JustZix y pega cualquier snippet de este artículo. Dos minutos de cero a una regla funcionando en todos tus dispositivos.

Obtener JustZix

Funciones · Cómo funciona · Ejemplos · Casos de uso