Przejdź do głównej zawartości

Blokowanie skryptów

Blokowanie skryptów to podstawowy mechanizm ConsentForge do zapobiegania ładowaniu skryptów stron trzecich przed udzieleniem przez użytkownika zgody.

Jak to działa

Gdy ConsentForge się ładuje, przeszukuje stronę w poszukiwaniu skryptów z type="text/plain" i data-consent-category. Te skrypty są nieaktywne — przeglądarki ich nie wykonają.

Gdy zgoda dla kategorii jest udzielona, ConsentForge:

  1. Znajduje wszystkie pasujące tagi <script>
  2. Zmienia type z "text/plain" na "text/javascript"
  3. Dla zewnętrznych skryptów (atrybut src): odtwarza element <script>, aby wyzwolić ładowanie
  4. Dla skryptów inline: ocenia zawartość przez eval() (w środowisku sandbox)

Oznaczanie skryptów do blokowania

<!-- Zewnętrzny skrypt -->
<script
type="text/plain"
data-consent-category="analytics"
src="https://www.googletagmanager.com/gtag/js?id=G-XXXXX"
></script>

<!-- Skrypt inline -->
<script type="text/plain" data-consent-category="marketing">
fbq('init', 'YOUR_PIXEL_ID');
</script>

Blokowanie iFrame

iFrame'y (np. YouTube, Vimeo, Google Maps) używają data-src zamiast src:

<iframe
data-src="https://www.youtube.com/embed/VIDEO_ID"
data-consent-category="marketing"
width="560" height="315"
></iframe>

Gdy zgoda jest udzielona, ConsentForge ustawia src z data-src, ładując iframe.

Czego nie można zablokować

  • Skryptów ładowanych przez tag manager przed uruchomieniem zgody (zamiast tego użyj GTM z Consent Mode)
  • Śledzenia po stronie serwera (użyj API ConsentForge do sprawdzania zgody po stronie serwera)
  • Natywnych funkcji przeglądarki (Service Workers, localStorage — te są kontrolowane przez środowisko uruchomieniowe, nie przez blokowanie skryptów)

Weryfikacja

Po konfiguracji otwórz DevTools → Sieć z filtrem "Wszystkie". Skrypty, które powinny być zablokowane, NIE powinny pojawiać się w logu sieciowym przed zaakceptowaniem przez użytkownika. Po zaakceptowaniu powinny się załadować.