Déplier automatiquement « voir plus », spoilers et commentaires
Des sections de commentaires repliées à trois entrées. De longs posts coupés par « lire la suite ». Des FAQ cachées dans des accordéons. Le contenu est sur la page — juste rangé derrière un bouton. Cette règle clique tous ces boutons pour vous.
Le pattern
Les boutons de dépliage ont l'un de deux indices : un texte comme « voir plus » / « lire la suite », ou un attribut aria-expanded="false". La règle attrape les deux et clique.
La règle
Le JavaScript de la règle :
const RE = /voir plus|lire la suite|afficher plus|tout afficher|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 });
Comment ça marche
Un regex de texte plus aria-expanded
Une seule expression régulière, quelques variantes de formulation, le drapeau i ignore la casse. Indépendamment, on vérifie aria-expanded="false" — l'attribut d'accordéon standard, qui fonctionne même sans texte correspondant.
Le marqueur jzExpanded
Après avoir cliqué un élément, on lui met data-jz-expanded. La fois suivante, la fonction le saute. Sans ce marqueur, on bouclerait : un clic déplie la section, la section change le DOM, le MutationObserver déclenche la fonction, elle reclique le même bouton.
MutationObserver
Les commentaires et les listes se chargent souvent après le démarrage de la page. Le MutationObserver surveille tout le <body> et appelle expandAll chaque fois que quelque chose s'ajoute au DOM — ainsi, les boutons qui n'existaient pas au démarrage sont aussi dépliés.
Pièges
- Faux positifs. Un « voir plus de produits » qui charge la boutique sans fin sera aussi cliqué. S'il gêne, restreignez le regex ou le sélecteur à un conteneur précis.
- Une tempête de mutations. Sur les pages très dynamiques,
expandAllse déclenche souvent. Ça marche parce que le marqueurjzExpandedrend chaque passage ultérieur peu coûteux — il saute ce qui est déjà cliqué. - Spoilers avec avertissement. Déplier un spoiler ou du contenu sensible est votre décision — la règle ne distingue pas « voir plus » de « afficher du contenu pour adultes ».
À voir aussi
- Exemples — plus de règles JS prêtes à l'emploi
- Auto-pager — un pattern d'automatisation de navigation apparenté
- Output Console — observez ce que la règle clique
Installez JustZix — et arrêtez de cliquer « voir plus » encore et encore.
Notez cet article
Aucune note — soyez le premier.