Product Hunt : fils de commentaires repliables
Ajoute un bouton de repli à chaque commentaire principal pour masquer vite les longs fils.
Code à copier
// Add a click-to-collapse toggle to each top-level comment
(function () {
function patch() {
document.querySelectorAll('[data-test^="comment-"]').forEach(function (c) {
if (c.dataset.jzCollapse) { return; }
if (c.closest('[data-test^="comment-"] [data-test^="comment-"]')) { return; }
c.dataset.jzCollapse = '1';
var btn = document.createElement('button');
btn.textContent = '[-]';
btn.style.cssText = 'cursor:pointer;margin-right:6px;border:none;background:none;color:#da552f;font-weight:700;';
btn.addEventListener('click', function () {
var hidden = c.dataset.jzHidden === '1';
Array.from(c.children).forEach(function (ch) {
if (ch !== btn.parentNode) { ch.style.display = hidden ? '' : 'none'; }
});
c.dataset.jzHidden = hidden ? '0' : '1';
btn.textContent = hidden ? '[-]' : '[+]';
});
var head = document.createElement('div');
head.appendChild(btn);
c.insertBefore(head, c.firstChild);
});
}
patch();
var obs = new MutationObserver(function () {
clearTimeout(window.__jzPrhCollapse);
window.__jzPrhCollapse = setTimeout(patch, 500);
});
obs.observe(document.body, { childList: true, subtree: true });
})();
Comment utiliser cet exemple
- Copiez le code avec le bouton ci-dessus.
- Installez JustZix (2 minutes) et ouvrez l'extension sur la page cible.
- Ajoutez une nouvelle règle correspondant à cette page.
- Collez le code dans le panneau JavaScript de la règle et enregistrez — il s'exécute à chaque visite de page.
Notez cet exemple
Aucune note — soyez le premier.