2012-04-03 14 views
0

特定のイベントが発生したときに「チャイム」音を鳴らすウェブページがあります。今、オーディオ(のみ11キロバイト)は、すべての時間を果たしているjavascript load()メソッドは、初めてロードされた後にリソースをキャッシュしますか?

var audioElement = document.createElement('audio'); 
audioElement.setAttribute('src', '/public/sounds/chime.ogg'); 
audioElement.load(); 
audioElement.play(); 

が、私がしたい:問題は、オーディオ再生が断続的であり、私はこれに私のコードを変更するまで、私はそれを引き起こしたかを把握していないようでした、です性能評価のために知っている、ファイルは毎回サーバーから引っ張られるのですか、それともキャッシュされ再利用されていますか?

このようにするために使用私の古いコードを:

HTML:

<audio id="chime" preload="auto" autobuffer> 
    <source src="@{'/public/sounds/chime.ogg'}" /> 
</audio> 

はJavaScript:

$('#chime').get(0).play(); 

答えて

1

はEDIT:あなたがしたいすべてが見ている場合は、ブラウザが要求している場合ファイルまたはキャッシュ情報を尊重すると、devツールネットワークパネル(またはfirebugネットパネル)が開き、ページがリロードされます。

ステータスとともに、ロードされているファイルリソースのGETが表示されます(クロムツールのヘッダータブを見てください - '200 OK'、 '200(キャッシュから)'のいずれかを参照してください)または「304変更されていない」。

タイミング]タブを見て、それがファイル全体をダウンロードする時間を費やしていた場合、またはそれだけでサーバー上の1つのローカルファイルを比較しています場合は、表示されます。

この動作はブラウザ固有のものであるため、Firefox、Webkit、およびIEでテストした場合、若干異なる結果が表示される可能性があります。


firefoxはオーディオファイルのキャッシュ情報を尊重します。httpヘッダー、Webkitブラウザは迅速なチェックを行います。

http://mindtrove.info/archive/2010/02/1/

+0

この記事では、このような古いバージョンのブラウザについて説明します。 ところで - Google Chromeの最新バージョンを使用しています。 – cyberjar09

+0

Afaik彼らはそれ以来彼らがキャッシュヘッダーを扱う方法を変更していません。 html5アプリケーションキャッシュマニフェストの情報も参照できます。 firebug/devtoolsネットパネルでページのリクエスト(および返された応答)を確認することができます。 –

0

愚かな私...総N00B間違い。今完全に罰金作品の前など

コード、私がしなければならなかったすべては(プレーを呼び出す前に、単一の行を追加することでした)

​​

だから今play()メソッドが正常に動作します。

ありがとうございました。

関連する問題