GX-Abgewiesen #66505
geschlossen
Cookie Consent Tool und iframe funktionieren nicht wie gewünscht.
Von Armin Eden vor mehr als 4 Jahren hinzugefügt.
Vor mehr als 4 Jahren aktualisiert.
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.
- 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
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>
The iframe attributes are wrong! The right attribute is data-purposes and not data-purpose
- 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, Unbestimmt wurde gelöscht
- Zielversion wurde von 133 zu 4.0.1.0 beta1 geändert
- Tags
stable wurde gelöscht
Auch abrufbar als: Atom
PDF