-3

JavaScript である関数から別の関数に値を渡す必要がありますが、これを実行しようとすると機能しません。問題はfloaded2()、の値を取得する関数にありますtheYoutubeGlobalState

HTML :

<html>
    <head>
    <script src = "http://www.youtube.com/player_api"></script>
    <script src = "jquery.js"></script>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <link rel="stylesheet" href="style.css" type="text/css" media="screen" charset="utf-8">
    </head>
    <body dir = "rtl">

            <iframe src="http://www.youtube.com/embed/-cSFPIwMEq4" onload="floaded2()" title="YouTube video player" id="player" allowfullscreen="" frameborder="0" height="400" width="500"></iframe>

    </body>
</html>

JavaScript :

var theYoutubeGlobalState;
        //onYouTubePlayerAPIReady
        function floaded() {
            player = new YT.Player('player', {
                videoId: '-cSFPIwMEq4',
                events: {
                    'onStateChange': function (event) {

                        theYoutubeGlobalState=event.data;                    }
                }
            });
        }

        function floaded2() {
            switch ( theYoutubeGlobalState )
             {
                 case 0:
                   alert("Ended");
                   break;
                 case 1:
                    alert("Playing"); 
                   break;
                 case 2:
                    alert("Paused"); 
                   break;            
            }
        }

確認できます: http://jsfiddle.net/3GGHW/1/。何が問題なのか教えてください。

4

2 に答える 2

0

ここで動作させました:

http://jsfiddle.net/3GGHW/2/

HTML で onload イベント ハンドラーに間違った関数を設定し、設定しfloaded()ないでください。また、 からfloaded2()呼び出す必要がありました。それでおしまい。floaded2()floaded()

于 2012-08-03T10:10:16.297 に答える
0

あなたはまったく召喚していないようですfloaded()。将来的には、[縮小] テスト ケースを質問に直接貼り付けてみてください。

于 2012-08-03T10:05:05.583 に答える