Cookie-Banner automatisch akzeptieren ohne zu klicken
Cookie-Einwilligungsbanner sind die Mautstelle des modernen Webs. Sie zahlen dieselbe Maut auf jeder Seite, jeden Tag. Eine kurze JustZix-JavaScript-Regel kann sie für Sie zahlen — indem sie die Akzeptieren- (oder Ablehnen-) Schaltfläche in dem Moment klickt, in dem das Banner auftaucht.
Wie Banner funktionieren
Die meisten Einwilligungsdialoge sind ein regulärer HTML-Block, der in die Seite eingefügt wird. Sie enthalten normalerweise eine Schaltfläche mit vorhersehbarem Text — "Akzeptieren", "Alle akzeptieren", "Ich stimme zu", "Verstanden" — oder eine erkennbare id/Klasse. Da JustZix-JS im Seitenkontext läuft, können Sie diese Schaltfläche finden und programmgesteuert klicken.
Die einfachste Version: nach Schaltflächentext klicken
Diese Regel durchsucht jede Schaltfläche auf der Seite und klickt die erste, deren Beschriftung mit einer Liste von Akzeptierphrasen übereinstimmt. Sie ist schreibungsunabhängig und entfernt Leerraum.
var ACCEPT = ['alle akzeptieren', 'accept all', 'akzeptieren', 'accept', 'ich stimme zu', 'i agree', 'agree', 'verstanden', '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();
Banner behandeln, die spät laden
Viele Einwilligungsmanager (die Seite führt sie über einen Tag-Manager aus) fügen das Banner ein oder zwei Sekunden nach dem Laden ein. JustZix führt Ihr JS einmal pro Seitenladen aus, sodass ein einzelner Aufruf ein spätes Banner verfehlen kann. Verwenden Sie einen MutationObserver, um nach neuen Knoten zu suchen und es erneut zu versuchen, dann zu stoppen, sobald Sie Erfolg haben.
var ACCEPT = ['alle akzeptieren', 'accept all', 'akzeptieren', 'accept', 'ich stimme zu', 'i agree', 'agree', 'verstanden', '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);
}
Die setTimeout-Absicherung trennt den Observer nach zehn Sekunden, sodass er auf einer Seite ohne Banner nie ewig läuft.
Eine bestimmte Einwilligungsplattform anvisieren
Wenn Sie nur eine Handvoll Seiten besuchen, visieren Sie die exakte Schaltfläche per Selektor an — das ist schneller und vermeidet versehentliche Klicks. Inspizieren Sie das Banner in den DevTools, kopieren Sie die id oder Klasse und verwenden Sie sie direkt.
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"]'
]);
Lieber ablehnen?
Datenschutzbewusste Nutzer können die Logik umdrehen — tauschen Sie einfach die Phrasenliste aus. Viele Banner verlangen jetzt per Gesetz eine "Alle ablehnen"-Schaltfläche, sodass dies auf vielen Seiten funktioniert.
var REJECT = ['alle ablehnen', 'reject all', 'ablehnen', 'reject', 'decline', 'nur notwendige', '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; }
}
Gute Praktiken
- Beschränken Sie die Regel nur dann auf
*, wenn Sie der Phrasenliste vertrauen — breite Textübereinstimmung kann gelegentlich eine unverwandte Schaltfläche klicken. Im Zweifel pro Seite beschränken. - Trennen Sie Observer immer mit einem Timeout, damit die Regel nicht lecken kann.
- Diese Regel klickt Schaltflächen, die bereits auf der Seite existieren; sie sendet keine Daten und kontaktiert keinen Server.
- Wenn eine Seite Inhalte hinter dem Banner verbirgt, stellt das Klicken auf Akzeptieren auch das Scrollen wieder her — kein zusätzliches CSS nötig.
Holen Sie sich eine getestete Kopie aus den fertigen Beispielen oder laden Sie JustZix herunter, falls Sie neu anfangen. Kombinieren Sie dies mit unserer Anleitung zum automatischen Aufklappen versteckter Inhalte für eine geschmeidigere Lektüre.
Bewerte diesen Beitrag
Noch keine Bewertungen — sei der Erste.