所以,我有这个非常基本的脚本,当音频流服务器关闭时重新加载整个页面。要播放音频,我使用的是HTML5音频元素。
<script type="text/javascript">
document.getElementById('audio').addEventListener("ended",function() {
location.reload();
});
</script>
我想要做的是每次元素中没有源时刷新页面并保持刷新,直到源重新开启。
由于error
事件被触发,我尝试首次刷新页面后尝试使用HTML5 ended
事件,并且音频源仍然缺失导致错误。我想“抓住”此错误并告诉浏览器再次刷新,直到音频中没有错误
<script type="text/javascript">
document.getElementById('audio').addEventListener("error",function() {
location.reload();
});
</script>
感谢您的时间。
答案 0 :(得分:0)
而不是重新加载整个页面,重做源代码将是最好的选择:
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;