最近,用于iframe嵌入的YouTube播放器API在Microsoft Edge(Windows 10)上无法使用seekTo方法。 例如,简单的HTML5播放器如下:
<!DOCTYPE html>
<html>
<body>
<div class="video-container">
<div id="player">
</div>
</div>
<script type="text/javascript">
var tag = document.createElement('script');
tag.src = "http://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
var player;
var isPlayerReady = false;
function onYouTubeIframeAPIReady() {
isPlayerReady = true;
window.external.notify("ready");
}
function startVideo(videoId) {
if (!isPlayerReady) return;
player = new YT.Player('player', {
videoId: videoId,
playerVars: {
'autoplay': 1,
'autohide': 2,
'fs': 0,
'cc_load_policy': 0,
'enablejsapi': 1,
'iv_load_policy': 3,
'loop': 0,
'modestbranding': 1,
'rel': 0,
'showinfo': 1,
},
events: {
}
});
}
function onSeek(sec) {
if (player == null) return;
player.seekTo(sec, true);
}
</script>
<a onclick="startVideo('XefNxZ0pAR0');">Start</a>
<br />
<a onclick="onSeek(60);">Seek</a>
</body>
</html>
如果单击“搜索”链接,则发生错误“对象不支持属性或方法'seekTo'”。 在启动视频后,错误总是在www-embed-player.js中出现'无效参数'(565,52)
发生了什么事?在几周之前,此代码可以在Edge上运行。