GX-Abgewiesen #66505
geschlossenCookie Consent Tool und iframe funktionieren nicht wie gewünscht.
0%
Beschreibung
Im Shop muss das Cookie Consent Tool aktiviert sein und es muss ein eigener Zweck zum Beispiel unter Sonstiges angelegt sein.
Im Content Manager wird dann folgender iframe eingegeben auf einer Seite oder zum Beispiel im index-Eintrag eingegeben:
<iframe allowfullscreen="" frameborder="0" height="225" width="400" data-src="https://www.youtube.com/embed/5dlVOyH4lZg" data-purpose='5' data-managed='as-oil'></iframe>
Der Wert für data-purpose muss noch dem Wert des erstellten Zwecks im Cookie Consent Tool angepasst werden.
Nun wird der Cookie zugelassen. Der iframe lädt und das Video lässt sich abspielen. Wenn die Seite neugeladen wird, dann ist der iframe nicht aktiv. Erst wenn die Cookie Einstellungen geöffnet und gespeichert werden ist das iframe ersichtlich.
Von Philip Rogge vor mehr als 4 Jahren aktualisiert
- Tags wurde auf stable gesetzt
- Beschreibung aktualisiert (Vergleich)
- Status wurde von Gemeldet zu Anerkannt geändert
- Priorität wurde von Hoch zu Dringend geändert
Von Jonatas Fischer vor mehr als 4 Jahren aktualisiert
A workaroung solutions is to include the video using script and not iframe as folow:
<div id="player"></div> <script async data-type="text/javascript" type="as-oil" data-purposes="4" data-managed="as-oil"> // 2. This code loads the IFrame Player API code asynchronously. var tag = document.createElement('script'); tag.src = "https://www.youtube.com/iframe_api"; var firstScriptTag = document.getElementsByTagName('script')[0]; firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); // 3. This function creates an <iframe> (and YouTube player) // after the API code downloads. var player; function onYouTubeIframeAPIReady() { player = new YT.Player('player', { height: '390', width: '640', videoId: 'M7lc1UVf-VE', events: { 'onReady': onPlayerReady, 'onStateChange': onPlayerStateChange } }); } // 4. The API will call this function when the video player is ready. function onPlayerReady(event) { event.target.playVideo(); } // 5. The API calls this function when the player's state changes. // The function indicates that when playing a video (state=1), // the player should play for six seconds and then stop. var done = false; function onPlayerStateChange(event) { if (event.data == YT.PlayerState.PLAYING && !done) { setTimeout(stopVideo, 6000); done = true; } } function stopVideo() { player.stopVideo(); } </script>
Von Jonatas Fischer vor mehr als 4 Jahren aktualisiert
The iframe attributes are wrong! The right attribute is data-purposes and not data-purpose
Von Jonatas Fischer vor mehr als 4 Jahren aktualisiert
- Tracker wurde von GX-Bug zu GX-Abgewiesen geändert
- Status wurde von Anerkannt zu Abgewiesen geändert
- Betroffene Versionen
3.15.4.0, 4.0.0.1, Unbestimmtwurde gelöscht
Von Till Tepelmann vor mehr als 4 Jahren aktualisiert
- Zielversion wurde von 133 zu 4.0.1.0 beta1 geändert