2014-04-25 173 views
1

我有一个网页,我为它制作了视频。使用HTML5格式(webm,ogg,mp4)只能正确使用Chrome。视频完成后,我可以用JavaScript隐藏视频。我认为我可以用YouTube播放器制作,(自动播放,隐藏控制等),但是当它完成时我无法隐藏它。我发现“onStateChange功能,但我不能使用它。任何想法?播放后隐藏youtube视频

<iframe width="840" height="630" src="URLrel=0&showinfo=0;&autoplay=1;controls=0" frameborder="0" allowfullscreen></iframe> 

回答

0

您需要使用YouTube Iframe Player API检查(1)该视频已经结束(YT.PlayerState.ENDED)时onPlayerStateChange被调用,和( 2)删除/隐藏包含视频的DOM元素,即在iframe

function onPlayerStateChange(event) { 
    // check if video ended and remove player 
    if (event.data == YT.PlayerState.ENDED) { 
     console.log($('#player').remove()); 
     done = true; 
    } 
    } 

你在这里完全可行的解决方案:http://jsfiddle.net/jibietr/ua57A/1/

0

一个快速和肮脏的解决办法是当用户用onclick事件关闭视频时,使用innerHTML覆盖iframe。如果iframe的包裹内使用id =“iframeDiv”,你可以调用下面的函数的onclick关闭视频按钮:

function hideIframe() { 
    document.getElementById("iframeDiv").innerHTML = ''; 
} 

的IFRAME会重新出现,当用户打开视频:

function showIframe() { 
    document.getElementById("iframeDiv").innerHTML = '<iframe width="840" height="630" src="URLrel=0&showinfo=0;&autoplay=1;controls=0" frameborder="0" allowfullscreen></iframe>'; 
}