Como posso pegar um erro 404 no Javascript?
tenho um elemento de áudio HTML e estou a configurar dinamicamente a propriedade "src" do elemento para um ficheiro de áudio armazenado na nossa rede local.
é assim que funciona:
function setSource(source) {
audio.src = source;
}
var audio = new Audio();
var source = "http://localhost/folder/file.mp3";
setSource(source);
por vezes, o ficheiro de áudio de origem para o qual estou a apontar tem uma ligação quebrada, o que faz com que um erro 404 seja gerado e registado na consola do navegador.
quero ser capaz de apanhar os erros 404 de modo a evitar que sejam registados na consola.
Foi assim que tentei.function setSource(source) {
try {
audio.src = src;
}//end try
catch (e) {
//do nothing
}//end catch
}//end setSource
var audio = new Audio();
var source = "http://localhost/folder/file.mp3";
setSource(source);
Infelizmente, a minha declaração de tentativa / captura não faz absolutamente nada e o erro ainda está ligado à consola. Estou a fazer alguma coisa errada?
Devido à natureza do meu aplicativo, haverá muitos erros 404, o que é normal e esperado, mas parece muito instável e "feio" para os usuários (se acontecer de abrir o console).
FYI: estou a usar o Google Chrome.
2 answers
audio.onload = function() {
console.log('success');
};
audio.onerror = function() {
console.log('fail');
};
audio.src = 'http://localhost/folder/file.mp3';
Neste caso, o registo de erros HTTP na consola do navegador é uma funcionalidade exclusiva do navegador e não do Javascript, ou de qualquer outro código do site.
Isto não pode ser evitado.