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
- Limita la regola a
*solo se ti fidi dell'elenco delle frasi — una corrispondenza testuale ampia può occasionalmente cliccare un pulsante non correlato. Nel dubbio, limitala per sito. - Disconnetti sempre gli osservatori con un timeout così la regola non può perdere risorse.
- Questa regola clicca pulsanti che esistono già sulla pagina; non invia dati e non contatta server.
- Se un sito nasconde contenuti dietro il banner, cliccare accetta ripristina anche lo scorrimento — nessun CSS extra necessario.
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.