我一直在做一些非常相似的事情,我决定使用 iframe api https://developers.google.com/youtube/iframe_api_reference使用自定义播放器并删除默认的 chrome,这可以防止他们跳过.
// api has been loaded
function onYouTubeIframeAPIReady(){
var player = new YT.Player(el, {
videoId: video_id,
width: 700,
playerVars: {
controls: 0,
modestbranding: 1,
rel: 0
},
events: {
onStateChange: function(d){
switch(d.data){
case YT.PlayerState.ENDED:
// send notification of video ended
}
}
}
});
}
// async load of api
var tag = document.createElement('script');
tag.src = "//www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
当 youtube api 完全加载并设置 iframe 播放器时调用该函数。el
是要替换为视频的 dom 对象,video_id
是要加载的视频的 id。controls: 0
是隐藏播放器镀铬的神奇位。然后在该onStateChange
函数中,您可以发送一个 ajax 请求,或更改您的布局或在视频结束时您需要做的任何事情。