Page 1 of 1

YouTube -API -Ereignisse, die nicht mit Adobe Muse schießen

Posted: 14 Apr 2025, 01:28
by Anonymous
Mein Kunde möchte eine Seite mit 4 eingebetteten YouTube -Videos, die beim Klicken auf die nächste pausieren, sodass jeweils nur ein Spiel wird. Klingt einfach genug, oder? < /P>
Das Problem ist, dass er die gesamte Website in Adobe Muse behalten möchte. Ich habe ein Widget gefunden, mit dem ich JQuery/JS -Code problemlos einfügen kann. Ich verwende eine leicht modifizierte Version dieser Geige, die ich in einem Thread aus dem Jahr 2014 gefunden habe, der sehr vielversprechend und stabil aussah, aber irgendwie funktioniert es nicht, wenn ich die Seite auf meinem Webserver hochladen kann. Es funktioniert jedoch in der Geige. < /P>

Code: Select all

var tag = document.createElement('script');
tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
console.log('api_inserted');

function onYouTubeIframeAPIReady() {
console.log('api_ready');
var $ = jQuery;
var players = [];
$('iframe').filter(function() {
return this.src.indexOf('http://www.youtube.com/') === 0;
}).each(function(k, v) {
console.log('iframes');
var src1 = $(this).attr('src');
$(this).attr('src', src1 + "?enablejsapi=1");
if (!this.id) { this.id='embeddedvideoiframe' + k; }
players.push(new YT.Player(this.id, {
events: {
'onStateChange': function(event) {
console.log('State_changed: ' + event.data);
if (event.data == YT.PlayerState.PLAYING) {
$.each(players, function(k, v) {
if (this.getIframe().id != event.target.getIframe().id) {
this.pauseVideo();
}
});
}
}
}
}));
console.log(players);
});
}
< /code>
Meine Konsolenausgabe sieht so aus: < /p>
api_inserted
api_ready
iframes
[X]
iframes
[X, X]
iframes
[X, X, X]
iframes
[X, X, X, X]