我正在为我的客户建立一个网站,他们希望YouTube嵌入视频与外部控制。这是代码
var player;
function onYouTubePlayerAPIReady() {
player = new YT.Player('player', {
height: '100%',
width: '100%',
playerVars: {rel: 0},
videoId: 'myvideoid',
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange
}
});
}
function onPlayerStateChange(event) {
if(event.data === 0) {
player.stopVideo();
}
$(document).ready(function() {
$( '.play-btn' ).on( 'click', function() {
if ($('.video').hasClass('mobile')) {
}
else {
player.seekTo(0, true);
player.playVideo();
}
});
这在现代浏览器上工作得很好,但在IE9上我有一个问题:点击视频开始播放。然而,当视频到达它的结束,我再次按下外部按钮,我得到"错误发生"的消息,只有视频声音开始播放。
你知道是什么原因导致的吗?
编辑onError事件给出错误代码5,这是,据我所知,HTML5相关。错误也发生在视频的末尾,而不是我最初认为的开始。
删除不必要的stopVideo()函数解决了这个问题。当调用该函数时,视频已经在最后停止,显然这导致了错误。
这解决了IE9和IE10的问题