← Tutti gli articoli

Tutorial

Sblocca copia, selezione e clic destro su qualsiasi pagina

Un numero sorprendente di siti cerca ancora di "proteggere" i propri contenuti disabilitando la selezione del testo, il comando di copia e il menu del clic destro. Raramente ferma chi è determinato, ma infastidisce costantemente chi vuole solo prendere una citazione o un numero di telefono. Con JustZix puoi riattivare tutto in pochi secondi.

Perché le pagine bloccano la copia

I siti disabilitano la copia e la selezione in tre modi comuni: una regola CSS (user-select: none), ascoltatori di eventi JavaScript che chiamano preventDefault() su copy, selectstart e contextmenu, e a volte un overlay trasparente sopra il testo. JustZix ti permette di neutralizzare ogni strato perché la tua regola viene eseguita nella pagina e controlli sia il CSS sia il JS.

Passo 1: forza la riattivazione della selezione con il CSS

Crea una regola CSS in JustZix abbinata al sito (o a * per tutto) e incolla questo. Il flag !important sovrascrive il foglio di stile del sito.

* {
  -webkit-user-select: text !important;
  -moz-user-select: text !important;
  user-select: text !important;
  cursor: auto !important;
}

Questo da solo risolve la maggior parte dei casi di "non riesco a evidenziare il testo". Se la pagina resiste ancora, il blocco proviene invece dal JavaScript.

Passo 2: ferma i gestori JavaScript

Aggiungi una regola JS per lo stesso URL. Il trucco è registrare i tuoi ascoltatori nella fase di cattura (il terzo argomento true) così vengono eseguiti prima dei gestori del sito, poi chiamare stopImmediatePropagation() così il codice di blocco del sito non si attiva mai.

['copy', 'cut', 'paste', 'selectstart', 'contextmenu', 'mousedown'].forEach(function (type) {
  document.addEventListener(type, function (e) {
    e.stopImmediatePropagation();
  }, true);
});

JustZix esegue il tuo JS una volta per caricamento di pagina, quindi questo si aggancia presto e copre l'intero documento. Poiché fermi solo la propagazione, il comportamento predefinito del browser (copiare davvero, mostrare davvero il menu) continua a funzionare.

Passo 3: cancella i gestori inline

Alcune pagine impostano oncontextmenu="return false" direttamente sull'elemento <body>. Gli ascoltatori in fase di cattura non sempre battono gli attributi inline, quindi cancellali anche loro. Questo snippet è difensivo: verifica che l'elemento esista prima di toccarlo.

var targets = [document.body, document.documentElement];
targets.forEach(function (el) {
  if (!el) return;
  el.oncontextmenu = null;
  el.oncopy = null;
  el.onselectstart = null;
  el.ondragstart = null;
});

Mettere tutto insieme

Per un sito ostinato, usa tutti e tre: la regola CSS più una singola regola JS che combina i passi 2 e 3. La regola JS combinata appare così:

['copy', 'cut', 'paste', 'selectstart', 'contextmenu', 'mousedown', 'dragstart'].forEach(function (type) {
  document.addEventListener(type, function (e) {
    e.stopImmediatePropagation();
  }, true);
});

var el = document.body;
if (el) {
  el.oncontextmenu = null;
  el.oncopy = null;
  el.onselectstart = null;
}

Quando il testo è dentro un overlay

Se vedi il testo ma la selezione afferra un box vuoto, un elemento invisibile è sopra. Trovalo nei DevTools e disabilita gli eventi del puntatore con il CSS:

.paywall-overlay,
.copy-guard,
[class*="overlay"] {
  pointer-events: none !important;
}

Sii conservativo con i selettori ampi come [class*="overlay"] — possono disabilitare pulsanti di cui hai davvero bisogno. Preferisci il nome di classe esatto una volta che lo hai identificato.

Consigli per regole affidabili

Sfoglia gli esempi pronti all'uso per una versione con un clic di questa regola, e se non l'hai ancora installata, scarica JustZix per Chrome, Firefox, Edge o Opera. Una volta che la copia funziona di nuovo, potresti anche voler leggere il nostro articolo complementare sull'accettazione automatica dei banner dei cookie.

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