JSFiddle - React, Tailwind, and code Playground
HTML
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<link rel="stylesheet" href="http://star-tower.com/fancybox/source/jquery.fancybox.css">
<link rel="stylesheet" href="http://star-tower.com/fancybox/source/helpers/jquery.fancybox-buttons.css">
<script src="http://star-tower.com/fancybox/source/jquery.fancybox.pack.js"></script>
<script src="http://star-tower.com/fancybox/source/helpers/jquery.fancybox-buttons.js"></script>
<script src="http://www.youtube.com/player_api"></script>
JavaScript
function loadScript( url, callback) {
var script = document.createElement( "script" )
script.type = "text/javascript";
if(script.readyState) { //IE
script.onreadystatechange = function() {
if ( script.readyState === "loaded" || script.readyState === "complete" ) {
script.onreadystatechange = null;
callback();
}
};
} else { //Others
script.onload = function() {
callback();
};
}
script.src = url;
document.getElementsByTagName( "head" )[0].appendChild( script );
}
function loadVideo() {
$.fancybox({
href: "https://www.youtube.com/embed/D9n-U0xYdIU?rel=0&autoplay=1",
type: "iframe",
beforeShow: function () {
// Find the iframe ID
var id = $.fancybox.inner.find('iframe').attr('id');
// Create video player object and add event listeners
var player = new YT.Player(id, {
events: {
'onStateChange': function (event) {
alert('onStateChange fired');
if (event.data === 0) {
alert('ended');
$.fancybox.close();
} // if
} // onStateChange
} // events
}); // YT.Player
}, // beforeShow
}); // fancybox
} // loadVideoAndpage
loadScript("https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js",function(){
loadScript( "http://star-tower.com/fancybox/source/jquery.fancybox.pack.js", function(){
loadScript( "http://star-tower.com/fancybox/source/helpers/jquery.fancybox-buttons.js", function(){
loadScript( "http://www.youtube.com/player_api", function(){
...