2011-01-08 17 views
3

私はYouTubes Javascript APIで遊んでいます。私は地元の環境でテストページを設定しましたが、再生機能は動作していません。ビデオが読み込まれ、ytビデオ画面で再生を押すことができますが、リンク「再生」は機能しません。誰かが私が何をやっているのか教えてもらえますか?YouTubeのJavascript API play();私は間違って何をしていますか?

私はこの次きた

:だからあなたのdiv idがytapiplayerない myytplayer
あるhttp://code.google.com/apis/youtube/js_api_reference.html

<html> 
    <head> 
    <script type="text/javascript" src="public/javascripts/swfobject.js"></script> 
    </head> 

    <body> 

    <div id="ytapiplayer"> 
     You will need Flash 8 or better to view this content. 
    </div> 

    <script type="text/javascript"> 
     var params = { allowScriptAccess: "always" }; 
     var atts = { id: "myytplayer" }; 
     swfobject.embedSWF("http://www.youtube.com/v/OQSNhk5ICTI&enablejsapi=1&playerapiid=ytplayer", "ytapiplayer", "425", "365", "8", null, null, params, atts); 

     function onYouTubePlayerReady(playerId) { 
     ytplayer = document.getElementById("myytplayer"); 
     } 

     function play() { 
     if (ytplayer) { 
      ytplayer.playVideo(); 
     } 
     } 
    </script> 

    <a href="javascript:void(0);" onclick="play();">Play</a> 

    </body> 
</html> 
+0

あなたの正確なコードはIE、Chrome、Firefoxでうまく機能しました。もしあなたがそのようなデバッグを追加しているなら、 'function play(){alert(typeof ytplayer); if(ytplayer){alert(ytplayer.playVideo); ytplayer.playVideo(); }} 'どのような警告が表示されますか? –

答えて

4

ローカルenvでは動作しません。例:小さなWebサーバーを含むWeb開発者向けのExpressで、ローカルホストで実行できます。

+1

localhostでテストされていますが、あなたのコードは動作していますが、Webサーバーのないfile:// ...ではありません。 –

+0

ありがとうございます!ちょうどチェックされ、両方が動作します。 – thedeepfield

0

を、コードが動作確認するために

function onYouTubePlayerReady(playerId) { 
    //ytplayer = document.getElementById("myytplayer"); 
    ytplayer = document.getElementById("ytapiplayer"); 
    } 

View the fiddleとしての機能をonYouTubePlayerReady変更

+0

私のコードを変更しましたが、何もしませんでした。 – thedeepfield

+0

このフィドルのコードは私のために働いていません - 再生ボタンはビデオを再生しません。 – nnyby

+0

@nnyby:確認してお知らせします。それは働いていた。多分apiのいくつかの変更。 – naveen