Próbuję uczynić przeglądarkę wyświetlić alert, jeśli atrybut src elementu audio wskazuje na nieistniejący plik, jednak nie otrzymuję żadnej odpowiedzi, jeśli dołączę "błąd" zdarzenie.Wykrywanie błędu pliku HTML5 nie znaleziono pliku
Oto skrzypce z moim problemem i co starałem 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>
I 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!");
});
Jak mogę wykryć Błąd plik nie jest odtwarzany (z powodu nie znalezienia) z JS?
Świetne, to wszystko - dzięki linkowi do dokumentacji, gdy już wiesz, że to element źródłowy, ma to sens. – WojtekD
Każdy pomysł, jak to zrobić w komponencie React? – asubanovsky
To zadziałało dla mnie świetnie. Czy istnieje jednak sposób na określenie kodu stanu HTTP zwrócony z połączenia, które spowodowało błąd lub jaki był błąd? – Bauer