2016-05-18 1 views
0

この非常に基本的なスクリプトは、オーディオストリームサーバーがダウンしたときにページ全体をリロードします。オーディオを再生するには、HTML5オーディオ要素を使用します。私がやりたい何JavaScript:オーディオが見つからないときにページをリロードします

<script type="text/javascript"> 
    document.getElementById('audio').addEventListener("ended",function() { 
     location.reload(); 
    }); 
</script> 

は、ページに要素にはソースがないたびにリフレッシュし、ソースが背面になるまでさわやかに保つことです。

endedイベントが発生したため、ページが最初にリフレッシュされた後でHTML5 errorイベントを処理しようとしましたが、オーディオソースがエラーの原因となっています。私は、オーディオでこのエラーを「つかむ」とエラーがないまで再びリフレッシュするために、ブラウザに伝えたい

<script type="text/javascript"> 
    document.getElementById('audio').addEventListener("error",function() { 
     location.reload(); 
    }); 
</script> 

はお時間をいただき、ありがとうございます。代わりに、ページ全体をリロードするの

+0

@ManoDestraを、私は私の元の質問を編集しました。私が必要とする基本的なことは、ソースが戻ってくるまでウェブサイトをリフレッシュし続けることです。 –

+0

はい、これまでに試したことが動作していないものは投稿していません。あなたが失敗したコードを投稿しなければ、あなたを助けることはできません。あなたは少なくともあなた自身の仕事のいくつかを行う必要があります。 – ManoDestra

+0

@ManoDestra私は再び投稿を編集しました! –

答えて

0

、それはソース再試行するIMO方が良いだろう:私は明確にされていないため申し訳ありません

var audio = document.getElementById('audio'), 
    url = "path/to/audio.mp3"; 

audio.onerror = audio.onabort = function() { 
    // show message to user about server being down/audio unavailable 
    // retry - 
    setTimeout(function() { 
    audio.src = url; // invokes new loading attempt 
    }, 5000);   // attempts to reload every 5 seconds 
}; 

audio.oncanplay = function() { 
    // all OK 
}; 

audio.src = url; 
関連する問題