例えば以下のようなHTMLとJavascriptがあります。
HTML
1//test.html 2<!DOCTYPE html> 3<html> 4<body> 5</body> 6<script type="text/javascript" src="./test.js"></script> 7</html>
javascript
1//test.js 2window.requestAnimFrame = (function () { 3 return window.requestAnimationFrame || 4 window.webkitRequestAnimationFrame || 5 window.mozRequestAnimationFrame || 6 window.oRequestAnimationFrame || 7 window.msRequestAnimationFrame || 8 function (callback) { 9 window.setTimeout(callback, 1000 / 60); 10 }; 11})(); 12 13var testsound; 14testsound = new Audio(); 15testsound.src = "./test.mp3"; 16 17function loop() { 18 requestAnimFrame(loop); 19 testsound.play(); 20} 21 22loop();
Javascript内でMP3ファイルを読み込んで再生するというものなのですが、これを実行すると私が調べた限りではおそらくはブラウザのキャッシュMP3が存在すればHTMLを表示したときに音がなります。キャッシュになければtestsound.play()でDOM Exceptionエラーになります。
実際にMP3ファイルを読むまで待たなければならないようなのですがこれを待つ、あるいは待ってからJavascript側全体を実行させる方法はありますでしょうか?
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。