Javascript проверить, действительно ли img src?
У меня есть что-то вроде:
document.getElementById('MyPicture').src = 'attempted.png';
Если клиент не может получить этот ресурс, я бы хотел его заменить:
document.getElementById('MyPicture').src = 'error.png'
Я знаю, что могу поместить onError = function() в тег изображения, но как я могу передать Id в onError, так что у меня может быть одна функция onError, которая может изменить src любых плохих фото?
Ответы
Ответ 1
Да, вы можете использовать событие onerror
, на элементах изображения действительно широко поддерживается, например:
var image = document.getElementById('MyPicture');
image.onerror = function () {
alert('error loading ' + this.src);
this.src = 'error.png'; // place your error.png image instead
};
image.src = 'non-existing.jpg';
Посмотрите пример здесь.
Ответ 2
Поместите это в тег изображения:
onError="image_error(this.id)"
который передает идентификатор изображения функции image_error.... duh
Ответ 3
Добавление атрибута onError действительно является правильным способом его обработки. В вашем случае вы добавите что-то вроде:
var myPicture = document.getElementById('MyPicture');
myPicture.onError = errorHandler();
function errorHandler(msg,file_loc,line_num) {
myPicture.src = 'http://www.google.com/intl/en_ALL/images/srpr/logo1w.png';
}