Zum Hauptinhalt springen

Skriptblockierung

Die Skriptblockierung ist ConsentForges Kernmechanismus, um zu verhindern, dass Drittanbieter-Skripte geladen werden, bevor der Nutzer eingewilligt hat.

Funktionsweise

Wenn ConsentForge lädt, durchsucht es die Seite nach Skripten mit type="text/plain" und data-consent-category. Diese Skripte sind inert — Browser führen sie nicht aus.

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

  1. Findet alle passenden <script>-Tags
  2. Ändert type von "text/plain" zu "text/javascript"
  3. Bei externen Skripten (Attribut src): Erstellt das <script>-Element neu, um das Laden auszulösen
  4. Bei Inline-Skripten: Wertet den Inhalt über eval() aus (in einem gesandboxten Kontext)

Skripte zur Blockierung markieren

<!-- Externes Skript -->
<script
type="text/plain"
data-consent-category="analytics"
src="https://www.googletagmanager.com/gtag/js?id=G-XXXXX"
></script>

<!-- Inline-Skript -->
<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 statt 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

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

Überprüfung

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