1
任何想法为什么这个脚本不起作用?我想要的只是跟踪onStateChanged
事件,但这从来都不是被称为。YouTube onPlayerReady永远不会被触发
当我用下面的代码打开html文档时,我没有错误,youtube脚本加载得很好,播放器对象不是undefined
,看起来也不错。
$(document).ready(function(){
loadScript();
});
function loadScript() {
var tag = document.createElement('script');
tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
}
var player;
function onYouTubeIframeAPIReady() {
player = new YT.Player('player', {
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange
}
});
alert(player);
}
var done = false;
function onPlayerStateChange(event) {
alert('state changed');
if (event.data == YT.PlayerState.PLAYING && !done) {
setTimeout(stopVideo, 3000);
done = true;
}
}
function stopVideo() {
player.stopVideo();
}
function onPlayerReady(event) {
event.target.playVideo();
}
我iframe
:
<iframe id="player width="400" height="300" src="https://www.youtube.com/embed/j0pJekWgeFE" frameborder="0" allowfullscreen></iframe>
见琴:https://jsfiddle.net/rg2uy1f8/
你试过宣布它像'window.onYouTubeIframeAPIReady(){(...)}'? – BoltKey