Blokowanie skryptów
Blokowanie skryptów jest podstawowym mechanizmem ConsentForge zapobiegającym ładowaniu skryptów stron trzecich przed wyrażeniem zgody przez użytkownika.
Jak to działa
Gdy ConsentForge się ładuje, skanuje stronę w poszukiwaniu skryptów z atrybutem type="text/plain" i data-consent-category. Skrypty te są nieaktywne — przeglądarki ich nie wykonują.
Gdy zgoda dla kategorii zostaje udzielona, ConsentForge:
- Znajduje wszystkie pasujące tagi
<script> - Zmienia
typez"text/plain"na"text/javascript" - Dla skryptów zewnętrznych (atrybut
src): ponownie tworzy element<script>, aby wyzwolić ładowanie - Dla skryptów inline: wykonuje treść za pomocą
eval()(w środowisku izolowanym)
Oznaczanie skryptów do blokowania
<!-- Skrypt zewnętrzny -->
<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
Dla iFrame (np. YouTube, Vimeo, Google Maps) użyj 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 zostanie udzielona, ConsentForge ustawia src na podstawie data-src, ładując iframe.
Czego nie można zablokować
- Skryptów ładowanych przez menedżera tagów przed uruchomieniem zgody (zamiast tego użyj GTM z Consent Mode)
- Śledzenia po stronie serwera (użyj API ConsentForge do sprawdzenia zgody po stronie serwera)
- Natywnych funkcji przeglądarki (Service Workers, localStorage — są kontrolowane przez środowisko uruchomieniowe, nie przez blokowanie skryptów)
Weryfikacja
Po konfiguracji otwórz Narzędzia deweloperskie → Sieć z filtrem „Wszystkie". Skrypty, które powinny być zablokowane, NIE powinny pojawiać się w dzienniku sieci przed zaakceptowaniem przez użytkownika. Po zaakceptowaniu powinny się załadować.