Automatyczna akceptacja bannerów cookie bez klikania
Bannery zgody na cookie to bramka opłat nowoczesnego internetu. Płacisz tę samą opłatę na każdej stronie, każdego dnia. Krótka reguła JavaScript JustZix może zapłacić ją za ciebie — klikając przycisk akceptacji (lub odrzucenia) w chwili, gdy banner się pojawi.
Jak działają bannery
Większość okien zgody to zwykły blok HTML wstrzyknięty do strony. Zwykle zawierają przycisk z przewidywalnym tekstem — "Akceptuj", "Akceptuj wszystkie", "Zgadzam się", "Rozumiem" — lub rozpoznawalny id/klasę. Ponieważ JS JustZix działa w kontekście strony, możesz znaleźć ten przycisk i kliknąć go programowo.
Najprostsza wersja: klikaj po tekście przycisku
Ta reguła skanuje każdy przycisk na stronie i klika pierwszy, którego etykieta pasuje do listy fraz akceptacji. Ignoruje wielkość liter i przycina białe znaki.
var ACCEPT = ['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();
Obsługa bannerów ładujących się z opóźnieniem
Wiele menedżerów zgody (strona uruchamia je przez menedżer tagów) wstrzykuje banner sekundę lub dwie po załadowaniu. JustZix uruchamia twój JS raz na załadowanie strony, więc pojedyncze wywołanie może przegapić opóźniony banner. Użyj MutationObserver, aby obserwować nowe węzły i ponawiać próbę, a następnie zatrzymaj się, gdy się uda.
var ACCEPT = ['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);
}
Zabezpieczenie setTimeout rozłącza obserwatora po dziesięciu sekundach, więc nigdy nie działa wiecznie na stronie, która nie ma bannera.
Celowanie w konkretną platformę zgody
Jeśli przeglądasz tylko garstkę stron, namierz dokładny przycisk selektorem — to szybsze i unika przypadkowych kliknięć. Zbadaj banner w DevTools, skopiuj id lub klasę i użyj jej bezpośrednio.
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"]'
]);
Wolisz odrzucać?
Użytkownicy dbający o prywatność mogą odwrócić logikę — wystarczy podmienić listę fraz. Wiele bannerów wymaga teraz z mocy prawa przycisku "Odrzuć wszystkie", więc działa to na wielu stronach.
var REJECT = ['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; }
}
Dobre praktyki
- Trzymaj regułę ograniczoną do
*tylko jeśli ufasz liście fraz — szerokie dopasowanie tekstu może czasem kliknąć niezwiązany przycisk. W razie wątpliwości ogranicz per strona. - Zawsze rozłączaj obserwatorów z timeoutem, aby reguła nie wyciekała.
- Ta reguła klika przyciski już istniejące na stronie; nie wysyła danych i nie kontaktuje się z żadnym serwerem.
- Jeśli strona ukrywa treść za bannerem, kliknięcie akceptacji przywraca też przewijanie — bez dodatkowego CSS.
Zdobądź przetestowaną kopię z gotowych przykładów lub pobierz JustZix, jeśli zaczynasz od zera. Połącz to z naszym poradnikiem o automatycznym rozwijaniu ukrytej treści, aby uzyskać płynniejsze czytanie.
Oceń ten wpis
Brak ocen — oceń jako pierwszy.