← Tutti gli articoli

Tutorial

Costruisci la tua modalità lettura — ridurre una pagina al suo contenuto

I browser hanno una modalità lettura, ma è incostante — su una pagina non si attiva, su un'altra taglia troppo, e non puoi regolarla. In JustZix costruisci la tua: un pulsante azione che riduce la pagina all'articolo stesso, secondo le tue regole.

Perché la tua

La modalità lettura integrata è una scatola nera. Non sai quando appare, non puoi influenzare ciò che considera «contenuto», non puoi cambiare la tipografia. La tua regola è una dozzina di righe che capisci e adatti al tuo gusto.

Meglio come azione PULSANTE

Raramente vuoi la modalità lettura attiva in automatico — la vuoi su richiesta. Questo ne fa un candidato ideale per un'azione PULSANTE nella barra delle azioni JustZix. Etichettala, diciamo, READ, con codice che viene eseguito al clic:

const art = document.querySelector(
  'article, [role="main"], main, .entry-content, .post-content'
);
if (!art) { alert('Nessun contenitore di contenuto trovato.'); }
else {
  document.body.replaceChildren(art);
  document.body.style.cssText =
    'max-width:70ch;margin:40px auto;padding:0 24px;' +
    'font:19px/1.7 Georgia, serif;background:#fbfaf7;color:#222';
}

Come funziona

Scegliere il contenitore di contenuto

querySelector riceve una lista di candidati dal più al meno affidabile: <article>, un elemento con role="main", <main>, poi classi CMS comuni. Prende il primo che esiste. Per una pagina dove nulla corrisponde, aggiungi il suo selettore in cima alla lista.

replaceChildren

document.body.replaceChildren(art) butta fuori tutto dal <body> e vi mette solo il contenitore dell'articolo. Una sola chiamata invece di un ciclo che rimuove elemento dopo elemento.

Tipografia

max-width:70ch dà una riga lunga circa 70 caratteri — l'ottimo di leggibilità. Il resto è margine, un font con grazie e uno sfondo caldo. Cambialo a tuo gusto.

La variante solo-CSS

Se la pagina ha un <article> pulito, puoi saltare il JS — nella scheda CSS della regola:

body > *:not(:has(article)) { display: none !important; }
article {
  max-width: 70ch !important;
  margin: 40px auto !important;
  font-size: 19px !important;
  line-height: 1.7 !important;
}

La variante CSS è meno affidabile (dipende dalla struttura della pagina) ma non tocca il DOM — facile da disattivare.

Trappole

Vedi anche

Installa JustZix — e leggi gli articoli senza il resto della pagina.

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