2

YouTube の JavaScript API を使用しようとしていますが、準備が整ったときに初期化/コールバックを取得する際に問題が発生しています。API のドキュメントはこちらにあります

YouTubeが提供するjsonからビデオを取得し、次のように埋め込みます。

//insert flash object in video element
        $(video_elm_arr[i]).append('<object id="video_' + i + '" width="' + width + '" height="' + height + '">' + 
                                   '<param name="movie" value="' + video_url + '?showinfo=0&enablejsapi=1"></param>' +
                                   '<param name="allowFullScreen" value="true"></param>' +
                                   '<param name="allowscriptaccess" value="always"></param>' +
                                   '<embed src="' + video_url + '?showinfo=0&enablejsapi=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="' + width + '" height="' + height + '"></embed>' +
                                   '</object>');

JavaScript APIを有効にする必要があるURLに「enablejsapi = 1」を追加していることに注意してください。ただし、API の準備ができているというコールバックをリッスンすると、次のようになります。

//set player functionality when javascript api is available
  function onYouTubePlayerReady(playerId) {
    alert('api is ready!');
  }

トリガーされることはありません。ページ上の他のすべて (YouTube ビデオを含む) は正しく読み込まれ、ビデオの URL で渡す他のパラメーター (showinfo=0) も正しく機能します。何を与える?誰かが私のエラーを見ますか? すべてのヘルプは大歓迎です...

4

2 に答える 2

1

ページはサーバーから提供されていますか (つまり、ローカル マシンからではありませんか)。ページがローカルで提供されている場合、Youtube (または一般的には Flash) は JavaScript と対話することはできません。

于 2010-09-21T06:18:43.090 に答える
0

&playerapiid=THEPLAYERIDYOUWANTPASSEDINURL に追加してみてください。これは、「playerId」パラメーターとしてコールバックに送信されます。

//insert flash object in video element
        $(video_elm_arr[i]).append('<object id="video_' + i + '" width="' + width + '" height="' + height + '">' + 
                                   '<param name="movie" value="' + video_url + '?showinfo=0&enablejsapi=1&playerapiid=' + i + '"></param>' +
                                   '<param name="allowFullScreen" value="true"></param>' +
                                   '<param name="allowscriptaccess" value="always"></param>' +
                                   '<embed src="' + video_url + '?showinfo=0&enablejsapi=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="' + width + '" height="' + height + '"></embed>' +
                                   '</object>');
于 2010-09-30T05:33:19.230 に答える