0

ajaxでページをロードする次のjQueryスクリプトがあり、ページがロードされたときにYoutube APIを使用してビデオを表示したい:

$("#games_slides").load($(this).attr('href'), function(){
    function onYouTubePlayerReady(playerId) {
            ytplayer = document.getElementById("ytPlayer");
            ytplayer.cueVideoById("ylLzyHk54Z0");
            ytplayer.playVideo();
    }

    function loadPlayer() {
            var params = { allowScriptAccess: "always" };
            var atts = { id: "ytPlayer" };
            swfobject.embedSWF("http://www.youtube.com/apiplayer?" + "version=3&enablejsapi=1&playerapiid=player1", "youtubePlayer", "480", "295", "9", null, null, params, atts);
    }

    loadPlayer();
});    

プレーヤーがロードされているため、loadPlayer 関数は機能していますが、onYouTubePlayerReady 関数は起動していません。理由はありますか?

4

1 に答える 1

13

onYouTubePlayerReady関数はコンテキスト内にある必要があり(windowロード後に ActionScript コードが関数を呼び出すことができるようにするため)、関数の定義にはローカル コンテキストがあるように見えます。

試す

window.onYouTubePlayerReady = function(playerId) {
  ytplayer = document.getElementById("ytPlayer");
  ytplayer.cueVideoById("ylLzyHk54Z0");
  ytplayer.playVideo();
}
于 2012-09-21T20:27:02.623 に答える