Scriptblokkering
Scriptblokkering is het kernmechanisme van ConsentForge om te voorkomen dat scripts van derden laden voordat de gebruiker toestemming heeft gegeven.
Hoe het werkt
Wanneer ConsentForge laadt, scant het de pagina op scripts met type="text/plain" en data-consent-category. Deze scripts zijn inert — browsers zullen ze niet uitvoeren.
Wanneer toestemming wordt gegeven voor een categorie, zal ConsentForge:
- Alle overeenkomende
<script>-tags vinden typewijzigen van"text/plain"naar"text/javascript"- Voor externe scripts (
src-attribuut): het<script>-element opnieuw aanmaken om laden te activeren - Voor inline scripts: de inhoud evalueren via
eval()(in een beveiligd kader)
Scripts markeren voor blokkering
<!-- Extern script -->
<script
type="text/plain"
data-consent-category="analytics"
src="https://www.googletagmanager.com/gtag/js?id=G-XXXXX"
></script>
<!-- Inline script -->
<script type="text/plain" data-consent-category="marketing">
fbq('init', 'YOUR_PIXEL_ID');
</script>
iFrame-blokkering
iFrames (bijv. YouTube, Vimeo, Google Maps) gebruiken data-src in plaats van src:
<iframe
data-src="https://www.youtube.com/embed/VIDEO_ID"
data-consent-category="marketing"
width="560" height="315"
></iframe>
Wanneer toestemming wordt gegeven, stelt ConsentForge src in vanuit data-src, waarmee de iframe wordt geladen.
Wat niet geblokkeerd kan worden
- Scripts geladen door een tagbeheerder voordat toestemming actief wordt (configureer GTM met Consent Mode in plaats daarvan)
- Server-side tracking (gebruik de ConsentForge API om server-side toestemming te controleren)
- Browser-native functies (Service Workers, localStorage — deze worden beheerd door de runtime, niet scriptblokkering)
Verificatie
Na installatie, open DevTools → Netwerk met filter "Alles". Scripts die geblokkeerd zouden moeten zijn, mogen NIET in het netwerklog verschijnen voordat de gebruiker accepteert. Na acceptatie moeten ze laden.