直到美国东部标准时间下午 6 点左右,下面的代码都可以正常工作,但现在由于某种原因 onStateChange 没有触发。我尝试过多种浏览器,并让朋友检查过。看到什么明显错误了吗?
<div id="video">
<div id="player_wrap">
<div id="player"></div>
</div>
</div>
<script>
var tag = document.createElement("script");
tag.src = "http://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName("script")[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
function onYouTubeIframeAPIReady() {
var player;
player = new YT.Player("player", {
width: 640,
height: 400,
videoId: "MbfsFR0s-_A",
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange
}
});
}
function onPlayerReady() {
alert ("player ready");
}
function onPlayerStateChange(event) {
alert ("something happened");
}
这是 iFrame Player API 的临时问题。你可以在这里读到它:https://code.google.com/p/gdata-issues/issues/detail?id=4706 https://code.google.com/p/gdata-issues/issues/detail?id=4706
Jeff Posnick 在这里发布了一个临时解决方法:http://jsfiddle.net/jeffposnick/yhWsG/3/ http://jsfiddle.net/jeffposnick/yhWsG/3/
基本上,您只需在 onReady 事件中添加事件侦听器(只是临时修复):
function onReady() {
player.addEventListener('onStateChange', function(e) {
console.log('State is:', e.data);
});
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)