Javascript可以检测嵌入的Youtube视频何时结束?

时间:2014-11-22 02:44:52

标签: javascript video javascript-events youtube

我有一个包含视频的div。 div的背景是一个虚假的“播放”按钮,我将其设计为播放按钮,而不是Youtube的标准视频“播放”按钮。视频最初设置为“display:none”。

我已经部署了下面的代码,这样当你点击div时,div就会消失,视频现在会显示并开始播放。

如何编辑代码,以便在视频播放完毕后,视频消失并重新显示div?

<div  class="videodiv" this.style.cursor='pointer'; 
onclick="thevid=document.getElementById('thevideo'); thevid.style.display='block'; 
this.style.display='none'; "></div>
<div  class="youtubevid" id="thevideo" style="display: none;"><object width="420" 
height="160"><param name="movie" value="//www.youtube.com/v/vIdeoUrl?
 hl=en_US&amp;version=3&amp;rel=0&amp;controls=0&amp;showinfo=0&amp;autoplay=1">
</param><param name="allowFullScreen" value="true"></param><param 
name="allowscriptaccess" value="always">
</param><embed src="//www.youtube.com/v/vIdeoUrl?
hl=en_US&amp;version=3&amp;rel=0&amp;controls=0&amp;showinfo=0&amp;autoplay=1" 
type="application/x-shockwave-flash" width="420" height="160" 
allowscriptaccess="always" allowfullscreen="true"></embed></object></div>

2 个答案:

答案 0 :(得分:3)

以下是您要找的内容:

http://jsfiddle.net/7Gznb/

// when video ends
    function onPlayerStateChange(event) {        
        if(event.data === 0) {            
            alert('done');
          //do something here

        }

顺便说一下,这就是Youtube API

答案 1 :(得分:2)

看看API,似乎有事件。

player.addEventListener('onStateChange', function(e) {
   if (e.data === 0) {
     // If state is 0 (ended), do something
   }
});

另外,在旁注:

您的YouTube视频似乎需要embed via JavaScript才能发生活动。为此,

相关问题