ファンシーボックスで再生しているYouTubeビデオが終了したら、イベントを発生させようとしています。
そのため、ビデオが終了したら、fancybox を自動的に閉じることができます。
私は最後のファンシーボックスバージョンを持っており、例に固執してYouTube APIを使用していますが、ytplayerオブジェクトが「未定義」であるようで、正しく機能させることができません。
私はこれを含むインターネット上の多くのものを読みましたが、これは良いようです: YouTubeのビデオIDが完了したときにファンシーボックスを自動的に閉じるにはどうすればよいですか?
これは私が使用しているコードです: JsFiddle
$(".fancybox").fancybox({
'openEffect' : 'none',
'closeEffect' : 'none',
'overlayOpacity' : 0.7,
'helpers' : {
media : {}
},
'afterLoad' : function() {
function onYouTubePlayerReady(playerId) {
//alert(playerId);
//alert(document.getElementById("myytplayer"));
ytplayer = document.getElementById("myytplayer");
ytplayer.addEventListener("onStateChange", "onytplayerStateChange");
}
function onytplayerStateChange(newState) {
//alert("Player's new state: " + newState);
if (newState == 0){
$.fancybox.close(true);
}
}
}
});
// Launch fancyBox on first element
$(".fancybox").eq(0).trigger('click');
誰かがこれを機能させたら、それは素晴らしいことです! ファンシーボックスが完成したら閉じるためのビデオです!
どうもありがとう