您可以使用 youtube 的 js API 在iframe 中捕获一些事件
这是你必须做的:
1)。在您的页面中加载Player API
<script src="http://www.youtube.com/player_api"></script>
2)。在 iframe 中启用 jsapi 作为尾随参数 (enablejsapi),如
<iframe id="myIframe" src="http://www.youtube.com/embed/opj24KnzrWo?enablejsapi=1&autoplay=0" width="420" height="280" frameborder="0"></iframe>
...另外通知我们向iframe添加了一个ID。
3)。创建 3 个函数:
一)。 onPlayerReady:
您可以在此处检测视频何时已加载并准备好播放。在这里你可以实际启动视频等。
function onPlayerReady(event) {
// video is ready, do something
event.target.playVideo();
}
b)。 onPlayerStateChange:
您可以在此处检测触发了哪些事件:
function onPlayerStateChange(event) {
console.log(event.data); // event triggered
// e.g. end of video
if (event.data === 0) {
// end of video: do something here
}
}
当你click播放或暂停时,一个事件被触发。然后你可以决定你想要做什么动作,包括推送一个跟踪事件等等。
这是每个事件的返回值列表:
-1 – unstarted
0 – ended
1 – playing
2 – paused
3 – buffering
5 – video cued
请参阅documentation 以了解有关这些事件的更多信息
c)。 onYouTubePlayerAPIReady:
这是您实际初始化 API 并将 事件 绑定到其他函数的地方:
function onYouTubePlayerAPIReady() {
var id = document.getElementById("myIframe").getAttribute("id");
var player = new YT.Player(id, {
events: {
onReady: onPlayerReady,
onStateChange: onPlayerStateChange
}
});
} // youtube API ready
见JSFIDDLE