/** * YouTube iframe feature */ document.addEventListener('DOMContentLoaded', function () { console.log('youtube-script'); var player; var initialWrapper = document.getElementById('kanzu-iframe--wrapper'); var iframe = document.getElementById('kanzu-iframe--video'); var container = document.getElementById('kanzu-iframe'); var iframeHeight = iframe && iframe.offsetHeight; var originalSrc = iframe.getAttribute('src'); init(); function init() { loadYouTubeAPI(); } function loadYouTubeAPI() { var tag = document.createElement('script'); tag.id = 'kanzu_iframe-customized'; tag.src = 'https://www.youtube.com/iframe_api'; var firstScriptTag = document.getElementsByTagName('script')[0]; firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); } function onYouTubeIframeAPIReady() { player = new YT.Player('kanzu-iframe--video', { playerVars: { 'autoplay': 1, 'controls': 0 }, events: { 'onReady': onPlayerReady, 'onStateChange': onPlayerStateChange } }); } function onPlayerReady(event) { document.getElementById('kanzu-iframe').classList.add('player-ready'); var initialWrapper = document.getElementById('kanzu-iframe--wrapper'); initialWrapper && initialWrapper.addEventListener('click', function () { if (player) { document.getElementById('kanzu-iframe').classList.add('playing'); if (player && typeof player.playVideo === 'function') { setTimeout(function () { console.log("Started playing video..."); player.playVideo(); // player.loadVideoById({'videoId': 'kanzu-iframe--video'}); }, 500); } else if (player && typeof player.loadVideoById === 'function') { player.loadVideoById({ 'videoId': 'kanzu-iframe--video' }); } } else { console.warn("YouTube player has failed"); } }); } function onPlayerStateChange(event) { changeBehavior(event.data); } function changeBehavior(playerStatus) { if (playerStatus == 1) { setTimeout(function () { document.getElementById('kanzu-iframe').classList.remove('paused'); }, 250); document.getElementById('kanzu-iframe').classList.add('playing'); console.log('Continue playing video...'); } else if (playerStatus == 2) { document.getElementById('kanzu-iframe').classList.add('paused'); console.log('Video is paused...'); } else { return null; } } function loadContainer() { if (iframeHeight > 715) { container.style.height = (iframeHeight - (iframeHeight * 0.0084)) + 'px'; } else { container.style.height = (iframeHeight - (iframeHeight * 0.083)) + 'px'; }; } function resizeContainer() { if (iframeHeight > 715) { container.style.height = (iframeHeight - (iframeHeight * 0.079)) + 'px'; } else { container.style.height = (iframeHeight - (iframeHeight * 0.079)) + 'px'; }; console.log(iframeHeight, "iframe height"); console.log(container.style.height, "container height"); } // Event listener for iframe size changes window.addEventListener('load', loadContainer); window.addEventListener('resize', resizeContainer); // Bind the YouTube API ready function to the global window object window.onYouTubeIframeAPIReady = onYouTubeIframeAPIReady; });