我試圖做一個瀏覽器中顯示一個警告,如果音頻元素src屬性指向一個不存在的文件,但我沒有得到任何迴應,如果我附上了「錯誤」事件。檢測HTML5音頻元素文件未找到錯誤
這裏是我的問題,小提琴,並與我曾嘗試http://jsfiddle.net/Xx2PW/7/
的HTML:
<p>Non existent audio files - should return an error
<audio preload="auto">
<source src="http://example.com/non-existant.wav" />
<source src="http://example.com/non-existant.mp3" />
<source src="http://example.com/non-existant.ogg" />
</audio>
</p>
<p>Existing audio file - should just play
<audio preload="auto">
<source src="http://jplayer.org/audio/m4a/Miaow-07-Bubble.m4a" />
</audio>
</p>
而且JS:
playerMarkup = "<a class=\"player\">Play</a>";
audioTags = $("audio");
audioTags.before(playerMarkup); //insert markup before each audio tag
$(".player").on("click", function() {
currentAudio = $(this).next()[0];
//I've tried catching the error like this - no effect
alert("Trying to play file.");
try {
currentAudio.play();
} catch (e) {
alert("Error playing file!");
}
});
//I've also tried just handling the event error - no effect
audioTags.on("error", function (e) {
alert("Error playing file!");
console.log("Error playing file!");
});
我怎樣才能檢測到的錯誤文件沒有被播放(因爲沒有被發現)與JS?
輝煌,這就是它 - 感謝您的鏈接到文件爲好,一旦你知道它的源元素,這讓很多的意義。 – WojtekD
任何想法如何在React組件中做到這一點? – asubanovsky
這對我很好。但是,有沒有辦法確定導致錯誤的調用返回的http狀態代碼,或者錯誤是什麼? – Bauer