javascript - 如何为YouTube视频的手动输入的iframe捕获OnStateChange事件

标签 javascript iframe youtube

我必须能够捕获以手动输入的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&amp;enablejsapi=1&amp;"><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/

相关文章:

javascript - Angular 分页的自定义样式

javascript - CDN 服务 worker

javascript - 使用 AngularJS 和 Bootstrap 寻找双列表框

html - 如何将 iframe 视频缩放到更小的尺寸以适应 iOS 中的 UIWebView 框架?

javascript - 无法在 iframe 内创建 div

python-3.x - 为什么无法使用纯Python下载字幕?

jquery - 如何确定我观看过哪些 YouTube 视频?

javascript - 为数组中的每个项目创建独立的秒表。根据API返回的数据设置停止时间

iframe 中的 android espresso webview 访问元素

javascript - Youtube API 全屏问题