我尝试捕捉 youtube iframe 的事件: http://lab.joergpfeiffer.de/videofull/youtube.php
所以我先调用api
<script type='text/javascript' src='http://www.youtube.com/player_api'></script>
我设置了 iframe
<iframe id="ytfullplayer" type="text/html" width="640" height="390" src="http://www.youtube.com/p/B93C3D017CB2D65A?enablejsapi=1&origin=lab.domain.de" frameborder="0" ></iframe>
并尝试稍后设置事件
var ytfullplayer;
function onYouTubePlayerAPIReady() {
console.log('onYouTubePlayerAPIReady');
ytfullplayer = new YT.Player('ytfullplayer', {
events: {
'onReady': testfunc,
'onPlaybackQualityChange': testfunc,
'onStateChange': testfunc,
'onError': testfunc
}
});
}
function testfunc(){ alert('hello'); }
无论我做什么,都不会触发任何事件。我阅读了 iframe api 10 次。它应该实际工作。
有什么想法吗?
最佳答案
在 onYouTubePlayerAPIReady() 之前执行这些例程
// This code loads the IFrame Player API code asynchronously.
var tag = document.createElement('script');
tag.src = "http://www.youtube.com/player_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
如果仍然有困惑,请访问http://code.google.com/apis/youtube/iframe_api_reference.html
关于javascript - youtube iframe 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6857686/