2013-05-16 5 views
14

私はHTML5でビデオを完全にプリロードしようとしています。 「preload = auto」の属性を使用しますが、ビデオ全体をプリロードしません。Chromeでは、ビデオはわずか2%のプリロードです。 Safariでは、プラスまたはマイナス50%... 私の質問は次のとおりです: "JavaScriptを使用して完全なプリロードビデオを強制できますか?" ありがとうございます!ここJavascriptでフルロードのHTML5ビデオを強制しますか?

+0

同じ問題:私はクロームで完全なビデオをプリロードする必要があります...残念ながら、私はまだ解決策を見つけていませんでした、私はまたのXMLHttpRequestの方法を使用することを試みたが、私は、許可されていないエラーが発生しました。..私はそこに解決策があることを願っています。 –

答えて

10
function addSourceToVideo(element, src, type) {  
    var source = document.createElement('source');  
    source.src = src;  
    source.type = type;  
    element.appendChild(source);  
} 

var video;  
$(document).ready(function(){  
    video = document.getElementsByTagName('video')[0];  
    addSourceToVideo(video, "http://your-server.com/clip.ogv", "video/ogv");  
    addSourceToVideo(video, "http://your-server.com/clip.mp4", "video/mp4");  
    video.addEventListener("progress", progressHandler,false);  
}); 

progressHandler = function(e) {  
    if(video.duration) {  
     var percent = (video.buffered.end(0)/video.duration) * 100;  
     console.log(percent);  
     if(percent >= 100) {  
      console.log("loaded!");  
     }  
     video.currentTime++;  
    }  
} 
+0

これは良い解決策です。バックグラウンドの読み込みでは、videoタグでcreateElementを呼び出します。また、ちゃんちゃん+1! – deepelement

+0

bindKeys関数は何をしますか?それともコピーペーストから残されたものなのでしょうか?そしてインデックスは今、私はそれに気づきました。 – DBS

+0

@DBSはい、コピー・ペーストから残っていました。回答が更新されました。ありがとう!! –

関連する問題