YouTube ビデオがロードされたときのコールバックをonYouTubePlayerReady
jQuery ready 関数内に配置すると、ビデオがロードされたときに呼び出されません。ただし、コールバックを jQuery 準備完了関数の外に置くと、それが呼び出されます。コールバックをjQuery関数に入れることができるようにするにはどうすれば修正できますか。以下のコード。
<html>
<body>
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript" src="{{ STATIC_URL }}swfobject.js"></script>
<script type="text/javascript">
/// --> When I put onYouTubePlayerReady here it IS called //
function onYouTubePlayerReady(playerId) {
ytplayer = document.getElementById("myytplayer");
ytplayer.playVideo();
}
$(document).ready(function(){
/// --> When I put onYouTubePlayerReady here it is NOT called //
var params = { allowScriptAccess: "always" };
var atts = { id: "myytplayer" };
swfobject.embedSWF("http://www.youtube.com/v/UkhisRY3RRQ?version=3&enablejsapi=1","ytapiplayer", "800", "500", "8", null, null, params, atts);
});
</script>
<div id="ytapiplayer">
You need Flash player 8+ and JavaScript enabled to view this video.
</div>
</body>
</html>
また、swfobject の URL は http://swfobject.googlecode.com/svn/trunk/swfobject/swfobject.jsです。