← Tutti gli articoli

Tutorial

Accetta automaticamente i banner dei cookie senza cliccare

I banner di consenso dei cookie sono il casello del web moderno. Paghi lo stesso pedaggio su ogni sito, ogni giorno. Una breve regola JavaScript JustZix può pagarlo per te — cliccando il pulsante di accettazione (o rifiuto) nell'istante in cui il banner compare.

Come funzionano i banner

La maggior parte delle finestre di consenso è un normale blocco di HTML iniettato nella pagina. Di solito contengono un pulsante con un testo prevedibile — "Accetta", "Accetta tutto", "Acconsento", "Ho capito" — o un id/classe riconoscibile. Poiché il JS di JustZix viene eseguito nel contesto della pagina, puoi trovare quel pulsante e cliccarlo a livello programmatico.

La versione più semplice: clicca per testo del pulsante

Questa regola scansiona ogni pulsante della pagina e clicca il primo la cui etichetta corrisponde a un elenco di frasi di accettazione. Non è sensibile alle maiuscole e taglia gli spazi bianchi.

var ACCEPT = ['accetta tutto', 'accetta', 'acconsento', 'ho capito', 'accept all', 'accept', 'i agree', 'agree', 'got it', 'allow all'];

function clickConsent() {
  var buttons = document.querySelectorAll('button, a, [role="button"]');
  for (var i = 0; i < buttons.length; i++) {
    var label = (buttons[i].textContent || '').trim().toLowerCase();
    if (ACCEPT.indexOf(label) !== -1) {
      buttons[i].click();
      return true;
    }
  }
  return false;
}

clickConsent();

Gestire i banner che si caricano in ritardo

Molti gestori di consenso (la pagina li esegue tramite un tag manager) iniettano il banner uno o due secondi dopo il caricamento. JustZix esegue il tuo JS una volta per caricamento di pagina, quindi una singola chiamata può mancare un banner in ritardo. Usa un MutationObserver per sorvegliare i nuovi nodi e riprovare, poi fermati una volta riuscito.

var ACCEPT = ['accetta tutto', 'accetta', 'acconsento', 'ho capito', 'accept all', 'accept', 'i agree', 'agree', 'got it', 'allow all'];

function clickConsent() {
  var buttons = document.querySelectorAll('button, a, [role="button"]');
  for (var i = 0; i < buttons.length; i++) {
    var label = (buttons[i].textContent || '').trim().toLowerCase();
    if (ACCEPT.indexOf(label) !== -1) { buttons[i].click(); return true; }
  }
  return false;
}

if (!clickConsent()) {
  var observer = new MutationObserver(function () {
    if (clickConsent()) observer.disconnect();
  });
  observer.observe(document.documentElement, { childList: true, subtree: true });
  setTimeout(function () { observer.disconnect(); }, 10000);
}

La protezione setTimeout disconnette l'osservatore dopo dieci secondi così non gira mai all'infinito su una pagina senza banner.

Mirare a una piattaforma di consenso specifica

Se navighi solo una manciata di siti, mira al pulsante esatto tramite selettore — è più veloce ed evita clic accidentali. Ispeziona il banner nei DevTools, copia l'id o la classe e usalo direttamente.

function clickById(selectors) {
  for (var i = 0; i < selectors.length; i++) {
    var el = document.querySelector(selectors[i]);
    if (el) { el.click(); return true; }
  }
  return false;
}

clickById([
  '#onetrust-accept-btn-handler',
  '.cookie-consent__accept',
  'button[data-testid="accept-all"]'
]);

Preferisci rifiutare invece?

Gli utenti attenti alla privacy possono ribaltare la logica — basta scambiare l'elenco delle frasi. Molti banner ora richiedono per legge un pulsante "Rifiuta tutto", quindi questo funziona su molti siti.

var REJECT = ['rifiuta tutto', 'rifiuta', 'rifiuto', 'solo necessari', 'reject all', 'reject', 'decline', 'necessary only', 'only necessary'];

var buttons = document.querySelectorAll('button, a, [role="button"]');
for (var i = 0; i < buttons.length; i++) {
  var label = (buttons[i].textContent || '').trim().toLowerCase();
  if (REJECT.indexOf(label) !== -1) { buttons[i].click(); break; }
}

Buone pratiche

Prendi una copia testata dagli esempi pronti all'uso, oppure scarica JustZix se inizi da zero. Abbina questo alla nostra guida sull'espansione automatica dei contenuti nascosti per una lettura più fluida.

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