Passa al contenuto principale

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:

  1. Trova tutti i tag <script> corrispondenti
  2. Cambia type da "text/plain" a "text/javascript"
  3. Per gli script esterni (attributo src): ricrea l'elemento <script> per attivare il caricamento
  4. 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.