← Wszystkie wpisy

Poradniki

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.

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.

Wypróbuj samodzielnie

Zainstaluj JustZix i wklej dowolny snippet z tego artykułu. Dwie minuty od zera do działającej reguły na wszystkich Twoich urządzeniach.

Pobierz JustZix

Funkcje · Jak to działa · Przykłady · Zastosowania