を使用すると断続的にエラーが発生する Web アプリケーションがありますChrome 30.0.1599.101 m
。
HTML5<video />
タグを使用し、 を使用してsrc
属性を制御していますjavascript
。
エラーの原因となっているページは、最初のビデオまたは 7 番目のビデオでエラーになることがあります。予測可能なパターンはありません。
javascript
を処理する は次のとおりsrc
です。
var playing = false;
var media = $('#video')[0];
function initModule() {
$.ajax({
url: recap,
type:'HEAD',
error:
function(){
screenNotify('Error!', false, "404: Module video content could not be found." + recap, true);
},
success:
function() {
media.src = recap;
registerListeners(media);
media.load();
}
});
}
function registerListeners(listen) {
listen.addEventListener('ended', hide_recap);
listen.addEventListener('error', mediaError);
}
function mediaError(event) {
screenNotify('Media Error!', false, "Media failed with code: " + event.currentTarget.error.code, true);
}
function play_recap() {
if (!playing) {
playing = true;
media.play();
}
}
function hide_recap() {
if (playing) {
playing = false;
media.pause();
media.currentTime = 0.0;
}
}
興味深いことに、 を呼び出してもエラーはスローされませんmedia.load()
。代わりに、ネットワーク リクエストを調べて、GET
が実際に の結果を生成したことを確認する必要があり(failed)
ます。
注意すべきもう 1 つの点は、このGET
ステータスは、この特定のフォルダーの場所内に存在するビデオに対してのみ発生することです: /interactive/vids/recap/
. エラーは、アプリケーション内の他の場所では発生しません。
最後に、このエラーの奇妙な点は、アプリケーションが最終的に からビデオを再生しようとするとplay_recap()
、約 1 秒のビデオが実際に再生され、続いてvideo
要素でエラーがスローされることです。
ただし、エラーは、このアプリケーションがサーバーにMEDIA_ERR_NETWORK
ローカルにインストールされており、下で実行されていることです。Tomcat
localhost
では、すべてが でしか実行されていないのに、なぜGET
リクエストが生成(failed)
され、HTML5
<video>
要素が を生成するのでしょうか?MEDIA_ERR_NETWORK
localhost