Eingebettete Frames
Eingebettete Frames (iFrames) und der Consent
Wenn Sie iFrames verwenden, in denen ein Teil Ihrer Anwendung läuft so kann sich die Problematik ergeben, dass der Consent aus dem Hauptfenster in den iFrame übergeben werden muss.
Dies trifft vor allem zu, wenn die Seite im iFrame über einen eigenen Consent Banner verfügt.
In dem Fall können Sie den Consent aus dem Banner der Hauptseite an den iFrame übergeben - auch wenn der iFrame unter einer ganz anderen URL aufgerufen wird.
Dazu stellen wir eine Funktion zur Verfügung, die Sie beispielsweise im Tag Manager aufrufen können wenn der Banner geschlossen wird.
Die Funktion sieht folgendermassen aus:
dr_reloadAllIframesOnPage();
Ohne Parameter werden einfach alle iFrames auf der aktuellen Seite neu geladen. In diesem Fall wird auch der Consent nirgends übergeben.
In dem Fall funktioniert die Consent - Übergabe nur, wenn die Anwendung im iFrame unter derselben Domain läuft wie die Hauptseite.
Konfiguration
Es kann aber genau konfiguriert werden, welche iFrames neu geladen werden sollen und wer den Consent übermittelt bekommen soll:
var conf = {
appendConsent: true,
whitelist: [],
blacklist: [],
whitelistAppendUrls: [],
blacklistAppendUrls: []
}
dr_reloadAllIframesOnPage(conf);
Die Übermittlung des Consents geschieht dabei durch Anhängen des URL - Parameters
__drconsent
an die iFrame - Src - URL.
Parameter
conf.appendConsent (Boolean)
- true: Übergibt den Consent an die iFrames
- false: Übergibt keinen Consent (default)
conf.whitelist (Array[String,...])
Enthält URLs oder Teile von URLs die im iFrame.src
vorkommen müssen, damit
sie neu geladen werden.
conf.blacklist (Array[String,...])
Wenn URLs oder Teile von URLs die im iFrame.src
definiert sind, in der Blacklist
gefunden werden, so wird der iFrame NICHT neu geladen.
conf.whitelistAppendUrls (Array[String,...])
Enthält URLs oder Teile von URLs die im iFrame.src
vorkommen müssen, damit
der Consent an diese iFrames übergeben wird. Der Consent wird nur an iFrames
übergeben, die auch neu geladen werden.
conf.blacklistAppendUrls (Array[String,...])
Wenn URLs oder Teile von URLs die im iFrame.src
definiert sind, in der Blacklist
gefunden werden, so wird der Consent NICHT an den iFrame übergeben.
Beispiele
Folgende HTML Seite wird für alle Beispiele verwendet:
...
<!-- Interne Applikation -->
<iframe id="debug_iframe" src="https://webcache.datareporter.eu/qa/iframe.html" frameborder="0" width="100%" height="300"></iframe>
...
<!-- Google Maps -->
<iframe src="https://www.google.com/maps/embed?pb=!1m18" width="300" height="300" style="border:0;" allowfullscreen="" loading="lazy"></iframe>
...
<!-- YouTube -->
<iframe width="560" height="315" src="https://www.youtube.com/embed/bC8EmPA6H6g" title="YouTube video player"></iframe>
...
Beispiel 1: Nur interne Applikation neuladen und den Consent übergeben
var conf = {
appendConsent: true,
whitelist: ["webcache.datareporter.eu"]
}
dr_reloadAllIframesOnPage(conf);
Beispiel 2: Google Maps nie neu laden, keinen Consent übergeben
var conf = {
blacklist: ["www.google.com"]
}
dr_reloadAllIframesOnPage(conf);
Beispiel 3: Alles neu laden, aber den Consent nie an Google und YouTube senden
var conf = {
appendConsent: true,
blacklistAppendUrls: ["www.google.com", "www.youtube.com"]
}
dr_reloadAllIframesOnPage(conf);
Konfiguration im Tag Manager
Hier eine gebräuchliche Konfiguration im Tag Manager als benutzerdefiniertes Tag: