← Tutti gli articoli

Tutorial

Conteggio parole e tempo di lettura su qualsiasi pagina

Quanto ci vorrà per questo articolo — due minuti o venti? La maggior parte delle pagine non lo dice. Questa regola aggiunge in cima a ogni articolo una piccola barra: numero di parole e tempo di lettura stimato.

La regola

Il JavaScript della regola, pattern di URL per un blog o un sito che leggi:

const art = document.querySelector('article, main, .entry-content');
if (art) {
  const words = art.innerText.trim().split(/\s+/).length;
  const min = Math.max(1, Math.round(words / 200));
  const bar = document.createElement('div');
  bar.textContent = words + ' parole · ~' + min + ' min di lettura';
  bar.style.cssText =
    'position:sticky;top:0;z-index:9999;padding:6px 12px;' +
    'background:#1f2937;color:#fff;font:13px/1.4 system-ui;' +
    'text-align:center';
  art.prepend(bar);
}

Come funziona

Contare le parole

art.innerText è il testo visibile dell'articolo (senza i tag HTML). split(/\s+/) lo taglia a ogni sequenza di spazi bianchi — la lunghezza dell'array è il conteggio delle parole. Semplice e abbastanza accurato.

200 parole al minuto

Il ritmo medio di lettura-con-comprensione è di 200–250 parole al minuto. Prendiamo 200 come via di mezzo prudente; Math.max(1, ...) impedisce a un testo breve di mostrare «0 min».

Una barra sticky

position: sticky; top: 0 mantiene la barra visibile mentre scrolli nell'articolo — una piccola informazione, sempre a portata.

Variante — una barra di avanzamento della lettura

Vuoi vedere quanto resta dell'articolo? Aggiungi in cima una barra sottile che cresce con lo scroll:

const p = document.createElement('div');
p.style.cssText =
  'position:fixed;top:0;left:0;height:3px;z-index:99999;' +
  'background:#14b8a6;width:0';
document.body.appendChild(p);
addEventListener('scroll', () => {
  const h = document.body.scrollHeight - innerHeight;
  p.style.width = (scrollY / h * 100) + '%';
});

Trappole

Vedi anche

Installa JustZix — e sappi in anticipo a cosa vai incontro.

Valuta questo articolo

Nessuna valutazione — sii il primo.

Provalo tu stesso

Installa JustZix e incolla qualsiasi snippet di questo articolo. Due minuti da zero a una regola funzionante su tutti i tuoi dispositivi.

Ottieni JustZix

Funzionalità · Come funziona · Esempi · Casi d'uso