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?enablejsapi=1&wmode=opaque",
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: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange
}
});
}
});
} // loadVideoAndpage
function onPlayerReady(event) {
event.target.playVideo();
}
function onPlayerStateChange(event) {
if (event.data === 0) {
$.fancybox.close();
}
}
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(){
loadVideo();
});
});
});
});