youtube视频完成后的事件

iho*_*rko 23 javascript youtube youtube-api javascript-events

我有简单的HTML代码,点击图像后播放youtube视频.

<body>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> 

<div id="ytapiplayer2" style="display:none;">
<object width="1280" height="745">
<param name="movie" value="http://www.youtube.com/v/kCfP003Btjw?fs=1&hl=en_US&rel=0&autoplay=1"></param>
<param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param>
<embed src="http://www.youtube.com/v/kCfP003Btjw?fs=1&hl=en_US&rel=0&autoplay=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="1280" height="745"></embed>
</object>

</div>


<img src="https://i.qmyimage.com/mgen/global/zGetImageNew.ms?args=%22shpimg4198.jpg%22,425,96,1" id="imageID" />
<script type="text/javascript">
$('#imageID').click(function() {
$('#ytapiplayer2').show();
$('#imageID').hide();
});
</script>
</body>
Run Code Online (Sandbox Code Playgroud)

视频播放结束后,我需要隐藏视频并显示图像.怎么可能实施?

won*_*ng2 32

Youtube有一个JavaScript API:https://developers.google.com/youtube/js_api_reference

你需要的是onStateChange事件,它在结束时会给你0.

player.addEventListener("onStateChange", function(state){
    if(state === 0){
        // the video is end, do something here.
    }
});
Run Code Online (Sandbox Code Playgroud)

  • 请注意,JavaScript API现已弃用; 建议您使用IFrame API:https://developers.google.com/youtube/iframe_api_reference,它具有类似的状态更改方法. (3认同)
  • 国家是一个对象.您必须检查state.data === 0(我在iframe网址中使用了&enablejsapi = 1&version = 3) (2认同)