【发布时间】:2016-06-12 11:08:56
【问题描述】:
知道为什么这个脚本不起作用吗?我只想跟踪onStateChanged 事件,但也从未调用过。
当我用下面的代码打开 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>
【问题讨论】:
-
你试过像
window.onYouTubeIframeAPIReady() { (...) }这样声明吗?
标签: javascript youtube