我必须能够捕获以手动输入的iframe(不是通过javascript构建)存在的youtube视频的onstatechange事件,但是不幸的是,我不知道该怎么办,甚至无法解决。查看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>
在此先感谢您提供的任何帮助或指导。
最佳答案
您可以使用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");
}
关于javascript - 如何为YouTube视频的手动输入的iframe捕获OnStateChange事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15454541/