I'm trying to fire an event once the youtube video that I'm playing into my fancybox is ended.
So I can close automatically the fancybox once the video is over.
I have the last fancybox version and I'm on the youtube API, sticking to exemples but it seems that ytplayer object is "undefined" and I can't make it work properly.
I have read a lot of stuffs on internet including this one, which seems to be good: How make fancybox auto close when youtube video id done?
This is the code I'm using: 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');
If someone get this working, it would be awesome ! I just the video to close the fancybox once it finished !
Thanks a lot
Possible causes:
Please see following working code (you should use version 2 of fancybox.)
jsfiddle: http://jsfiddle.net/c5h9U/2/