我有一个训练计划,我尝试在 iFrame 中显示 YouTube 视频,自动播放它,并在视频完成后前进到下一页。我可以让YouTube上IPFI就绪函数触发,但其他事件都不会。实际上,我只对状态变化感兴趣。
var tag = document.createElement('script');
tag.src = 'https://www.youtube.com/iframe_api';
tag.id = 'apiScript';
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
...
//function onYouTubeIframeAPIReady() { //tried this too but no change
window.onYouTubeIframeAPIReady = function() {
player = new YT.Player('externalComponent', {
events: {
'onReady': onPlayerReady,
'onError': onPlayerError,
'onStateChange': onPlayerStateChange
}
});
console.log('api ready');
}
function onPlayerStateChange(event) {
console.log('onStateChange');
console.log(YT.PlayerState);
}
当它运行时,您可以在控制台中看到“api就绪”,但没有其他内容。内联框架如下所示:
<iframe id="externalComponent" src="https://youtube.com/embed/_S_Bg9qfa8o?enablejsapi=1&controls=0&autoplay=1" width="1024" height="576" allow="autoplay" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
是什么阻止了 onState更改了工作状态,而不是自动播放?控件不显示。
喵喔喔
相关分类