2012-06-14 13 views
14

ビデオプレーヤーが実際に正常に読み込まれます。私の実際の問題は、AJAXでページの一部をリフレッシュし、その部分にビデオプレーヤーが含まれていて、HTML5プレーヤーがうまくロードされますが、Video.js部分をカスタマイズしていない場合です。ページのajax読み込み部分でVideo.jsプレーヤーを初期化する

video.jsファイルは、ページのヘッダーに読み込まれます。ドキュメントを読み込んでおり、既に読み込まれているページで動画プレーヤーを初期化する方法が見つかりません。 Videoを含むページの一部が読み込まれて、ビデオプレーヤーがVideo.jsで正しく読み込まれるようにするには、私が呼び出すことができるmyPlayer.initialize()種類の関数はありませんか?

私はvideo.jsファイルがページロード時に自動的にそれを行うと思います。

貴重なご協力ありがとうございます!

答えて

17

はい、あなたが行うことができますドキュメントによると:

videojs("example_video_1", {}, function(){ 
    // Player (this) is initialized and ready. 
}); 

それは動的なコンテンツで使用するために特別です:)

出典:http://docs.videojs.com/docs/guides/setup.html(下部)

+1

それは仕事、あなたに感謝しないでそれをやりました!別の問題がありましたが、すべての動画に同じIDを与えていることがわかりました。 –

17

私が持っていました同じ問題。私のシナリオ:

ビデオタグ付きのhtmlコードを使ってajaxをHTMLコードにロードすると、初めて動作しますが、コンテンツをajax(ページをリフレッシュしない)でリロードすると動作しません。

私がしたことは、IDがvideojsによって変更されるため、クラスを通してビデオを見つけることに切り替えることでした。

これが今の私の呼び出しです:

videojs(document.getElementsByClassName("video-js")[0], {}, function(){ 
      // Player (this) is initialized and ready. 
}); 

希望これはBruno溶液が働いていなかった、同じ問題を持つ人を支援します。

+1

共有ありがとうございます!このソリューションは私の場合に適しています。 – leticia

+0

ブラボー!あまりにもあなたにタンクします。この解決策は、「リフレッシュ」問題に適しています。 –

+1

ありがとうございます。これはうまくいきました。半日を無駄にして、これを理解しようとしました。 –

1

私はループ

var massVideo = $('.video-js'); 
for(var i = 0; i < massVideo.length; i++){ 
    videojs(massVideo[i]).ready(function(){}); 
} 
関連する問題