Usuń popupy newsletterów i zapisów, zanim się pojawią
Jesteś trzy akapity w artykule, gdy okienko wjeżdża na ekran, błagając o twój e-mail. Popupy newsletterów to najbardziej przewidywalne przerwanie w internecie — i najłatwiejsze do usunięcia na stałe.
Jak działają popupy zapisów
Większość popupów uruchamia się na jeden z trzech sposobów: po opóźnieniu, po przewinięciu określonej odległości lub przy "exit intent", gdy kursor pędzi w stronę paska kart. Niezależnie od wyzwalacza wynik to ten sam element DOM — kontener modalny plus ciemne tło. Ukryj oba, a przerwanie znika.
Przepis 1: Ukryj typowe kontenery modalne
Widżety popupów używają niewielkiego zestawu nazw klas. Ta reguła obejmuje te najważniejsze i tło w jednym przebiegu.
/* Sprzątanie modali newsletterów / zapisów */
[class*="newsletter"], [class*="signup-modal"],
[class*="email-capture"], [class*="subscribe-popup"],
[id*="popup"], [class*="popup-overlay"],
.modal[role="dialog"] {
display: none !important;
visibility: hidden !important;
}
/* Przywróć działanie strony za modalem */
body {
overflow: auto !important;
padding-right: 0 !important;
}
To padding-right: 0 ma znaczenie: wiele skryptów modalnych dodaje prawy padding do body, aby zrekompensować ukryty pasek przewijania, zostawiając brzydką przerwę po zniknięciu modalu.
Przepis 2: Pokonaj nakładki exit-intent
Popupy exit-intent nasłuchują, czy mysz opuszcza obszar widoku. Niemal zawsze żyją w stałym, pełnoekranowym kontenerze z bardzo wysokim z-index. Można je namierzyć po tym podpisie.
/* Cokolwiek stałego i pełnoekranowego na wierzchu strony */
div[style*="position: fixed"][style*="z-index"] {
display: none !important;
}
/* Typowe nazwy klas exit-intent */
[class*="exit-intent"], [class*="exit-popup"],
[data-popup-trigger="exit"] {
display: none !important;
}
Używaj pierwszego selektora ostrożnie — niektóre strony umieszczają prawdziwe UI w stałych kontenerach. Jeśli strona się zepsuje, zawęź regułę tylko do tej domeny.
Przepis 3: Reguła JS blokująca popupy u źródła
CSS ukrywa popupy po ich wyrenderowaniu. JavaScript może powstrzymać je przed renderowaniem w ogóle, neutralizując liczniki czasu i nasłuchiwacze przewijania, które je uruchamiają.
// Wyłącz popupy czasowe, blokując długie timeouty
const realTimeout = window.setTimeout;
window.setTimeout = function (fn, delay, ...rest) {
if (delay > 1500) return 0; // pomiń podejrzanie długie opóźnienia
return realTimeout(fn, delay, ...rest);
};
// Usuń modale, które mimo to się prześliznęły
new MutationObserver(() => {
document.querySelectorAll('[class*="modal"], [class*="popup"]')
.forEach(el => {
if (el.offsetHeight > 100 && el.offsetHeight < 700) {
el.remove();
}
});
}).observe(document.documentElement, { childList: true, subtree: true });
Blokowanie timeoutów dłuższych niż 1,5 sekundy zabija większość opóźnionych popupów, zostawiając zwykłe animacje strony w spokoju. Dostrój próg, jeśli strona polega na wolnych licznikach.
Przepis 4: Powstrzymaj blokadę strony
Nawet z ukrytym popupem niektóre skrypty zamrażają przewijanie, dodając klasę do elementu <html>. Usuń ją i przywróć ruch.
// Wymuś odblokowanie przewijania
const html = document.documentElement;
['no-scroll', 'modal-open', 'overflow-hidden', 'fixed'].forEach(c => {
html.classList.remove(c);
document.body.classList.remove(c);
});
document.body.style.overflow = 'auto';
Ustaw raz, przeglądaj wszędzie
Zastosuj przepisy CSS z szerokim wzorcem URL, np. *://*/*, a regułę JS zachowaj dla nielicznych stron wymagających dodatkowej siły. Ponieważ JustZix uruchamia twoje reguły, zanim strona skończy się renderować, dobrze zbudowane popupy nawet nie błysną na ekranie.
- Zacznij od Przepisu 1 globalnie.
- Dodaj Przepis 3 tylko na upartych stronach.
- Dodaj do białej listy każdą stronę, na której "modal" jest czymś, czego naprawdę potrzebujesz.
Kolejne kroki
Zainstaluj ze strony pobierz JustZix i przejrzyj katalog gotowych przykładów, aby zdobyć więcej fragmentów. Bannery cookie to bliski kuzyn popupów — usuń je też dzięki naszemu poradnikowi ukryj ściany cookie i okienka zgody. Z obiema regułami zapisanymi internet czyta się tak, jak powinien: tylko treść.
Oceń ten wpis
Brak ocen — oceń jako pierwszy.