我需要能够为youtube视频捕获onstatechange事件,该视频存在为手动输入的iframe(不是通过javascript构建的)但不幸的是我无法弄清楚如何做到这一点,或者它是否可能。查看YouTube文档时,有很多例子可以在您通过JS创建播放器时连接事件处理程序,但我似乎找不到为预先存在的iframe执行此操作的方法。我的代码如下:
<iframe id="video_player" enablejsapi="1" width="853" height="480" src="http://www.youtube.com/embed/ANYVIDEO rel=0&start=0&end=71" frameborder="0" allowfullscreen></iframe>
<script src="http://www.youtube.com/iframe_api"></script>
<script>
function onYouTubeIframeAPIReady(playerId) {
player = document.getElementById("video_player");
player.addEventListener("onStateChange", "video_state_change");
}
function video_state_change(data){
alert("STATE_CHANGE: " + data);
}
</script>
提前感谢您提供的任何帮助或指导。
答案 0 :(得分:0)
您可以使用SWFObject集成youtube播放器。
<object type="application/x-shockwave-flash" id="video_player" width="650" height="400" data="//www.youtube.com/v/ANYVID?version=3&enablejsapi=1&"><param name="allowScriptAccess" value="always"></object>
这将允许您使用JS API。
下一步非常简单。将以下JavaScript代码段添加到HTML文件中。
// Called automatically as soon as the player loads
function onYouTubePlayerReady() {
player = document.getElementById("video_player").get(0);
player.addEventListener("onStateChange", "video_state_change");
}