我在网站上有一个嵌入式YouTube播放器。在Chrome / Firefox中,它运行正常。在Microsoft Edge和IE11中,我收到以下错误:
SCRIPT7002:XMLHttpRequest:网络错误0x2eff,无法完成 由于错误00002eff的操作。
视频开始播放但onReady
事件未被触发。我看过this和this问题。这是相同的错误,但它们是jQuery.ajax
相关的,我找不到与YouTube播放器API相关的任何内容。
这是我的代码:
var tag = document.createElement('script');
tag.src = "//www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
var player;
var paused = false;
function onYouTubeIframeAPIReady() {
console.log('initiate player');
player = new YT.Player('videoplayer', {
playerVars: {
'autoplay': 1,
'controls': 0,
'autohide': 1,
'showinfo' : 0,
'wmode': 'opaque',
'rel': 0,
'loop': 1,
'modestbranding': false
},
videoId: 'nxg4C365LbQ',
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange
}
});
}
function onPlayerReady(event) {
console.log('player ready');
event.target.playVideo();
event.target.mute();
}
function onPlayerStateChange(event) {
if (event.data === YT.PlayerState.ENDED) {
player.playVideo();
}
}