Zum Hauptinhalt springen

Script-Blockierung

Die Script-Blockierung ist ConsentForges Kernmechanismus, um zu verhindern, dass Drittanbieter-Scripts geladen werden, bevor der Nutzer seine Einwilligung erteilt hat.

Wie es funktioniert

Wenn ConsentForge geladen wird, durchsucht es die Seite nach Scripts mit type="text/plain" und data-consent-category. Diese Scripts sind inaktiv — Browser werden sie nicht ausführen.

Wenn die Einwilligung für eine Kategorie erteilt wird, führt ConsentForge Folgendes aus:

  1. Alle übereinstimmenden <script>-Tags werden gefunden
  2. type wird von "text/plain" auf "text/javascript" geändert
  3. Für externe Scripts (Attribut src): Das <script>-Element wird neu erstellt, um das Laden auszulösen
  4. Für Inline-Scripts: Der Inhalt wird per eval() ausgewertet (in einem Sandbox-Kontext)

Scripts für die Blockierung markieren

<!-- Externes 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-Blockierung

iFrames (z. B. YouTube, Vimeo, Google Maps) verwenden data-src anstelle von src:

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

Wenn die Einwilligung erteilt wird, setzt ConsentForge src aus data-src und lädt damit den iFrame.

Was nicht blockiert werden kann

  • Scripts, die von einem Tag-Manager vor dem Consent-Signal geladen werden (konfigurieren Sie GTM stattdessen mit Consent Mode)
  • Serverseitiges Tracking (verwenden Sie die ConsentForge API, um die Einwilligung serverseitig zu prüfen)
  • Native Browser-Funktionen (Service Workers, localStorage — diese werden von der Runtime kontrolliert, nicht durch Script-Blockierung)

Überprüfung

Öffnen Sie nach der Einrichtung DevTools → Netzwerk mit dem Filter „Alle". Scripts, die blockiert werden sollen, sollten im Netzwerkprotokoll NICHT erscheinen, bevor der Nutzer akzeptiert. Nach der Akzeptanz sollten sie geladen werden.