Blocco degli Script
Il blocco degli script è il meccanismo principale di ConsentForge per impedire agli script di terze parti di caricarsi prima che l'utente abbia dato il consenso.
Come funziona
Quando ConsentForge si carica, scansiona la pagina alla ricerca di script con type="text/plain" e data-consent-category. Questi script sono inerti — i browser non li eseguiranno.
Quando viene dato il consenso per una categoria, ConsentForge:
- Trova tutti i tag
<script>corrispondenti - Cambia
typeda"text/plain"a"text/javascript" - Per gli script esterni (attributo
src): ricrea l'elemento<script>per attivare il caricamento - Per gli script inline: valuta il contenuto tramite
eval()(in un contesto sandbox)
Contrassegnare gli script per il blocco
<!-- Script esterno -->
<script
type="text/plain"
data-consent-category="analytics"
src="https://www.googletagmanager.com/gtag/js?id=G-XXXXX"
></script>
<!-- Script inline -->
<script type="text/plain" data-consent-category="marketing">
fbq('init', 'YOUR_PIXEL_ID');
</script>
Blocco degli iFrame
Gli iFrame (es. YouTube, Vimeo, Google Maps) utilizzano data-src invece di src:
<iframe
data-src="https://www.youtube.com/embed/VIDEO_ID"
data-consent-category="marketing"
width="560" height="315"
></iframe>
Quando viene dato il consenso, ConsentForge imposta src da data-src, caricando l'iframe.
Cosa non può essere bloccato
- Script caricati da un tag manager prima che il consenso si attivi (usate invece GTM con Consent Mode)
- Tracciamento lato server (usate l'API di ConsentForge per verificare il consenso lato server)
- Funzionalità native del browser (Service Worker, localStorage — questi sono controllati dal runtime, non dal blocco degli script)
Verifica
Dopo la configurazione, aprite DevTools → Rete con il filtro "Tutto". Gli script che dovrebbero essere bloccati NON dovrebbero apparire nel registro di rete prima che l'utente accetti. Dopo l'accettazione, dovrebbero caricarsi.