Поймать, когда изображение не загружается из ссылки src - PullRequest
8 голосов
/ 08 декабря 2011

Мне нужно динамически загружать изображения на веб-странице в Javascript, но нужно ловить, если не удается загрузить какое-либо изображение, как я могу это сделать?
Например:

try{
  var img = new Image();
  img.src = "404_not_found.png";
} catch( err ) {
  // tried this but didn't work
}

Да, я знаю, что даже не жду, пока изображение onload, но когда происходит 404, метод onload все равно не вызывается.

1 Ответ

12 голосов
/ 08 декабря 2011

Прежде чем назначить свойство .src, вам необходимо установить функции обработчика onload, onerror и onabort. И вы также можете установить таймер, чтобы можно было предположить, что он не будет загружаться, если ни один из обработчиков не был вызван при срабатывании таймера.

Вот рабочий пример: http://jsfiddle.net/jfriend00/48JmQ/

var img = new Image();
img.onerror = function() {alert("error")};
img.onabort = function() {alert("abort")};
img.onload = function() {alert("success")};
img.src = "404_not_found.png";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...