В соответствии с тем, что предложил SeanJA, вы можете использовать ajax для «проверки» изображения, затем добавить изображение в обратный вызов success
или попробовать другой в обратном вызове error
.
Вы запрашиваете изображение дважды, но, возможно, оно кешируется после первой попытки. Не уверен.
Если вы действительно хотите использовать возвращенное изображение, его необходимо закодировать. Вот ссылка на инструкцию, как это сделать. Хотя не пробовал.
http://emilsblog.lerch.org/2009/07/javascript-hacks-using-xhr-to-load.html
var imageURI = "http://mydomain.com/myimage.jpg";
$.ajax(
{
type:'get',
dataType:'image/jpeg',
url:imageURI,
success:function() { $('body').append('<img src="' + imageURI + '" />'); },
error:function() { /* Change url in imageURI variable, and try again */ }
}
);
Не уверен, что это лучший способ, но, похоже, работает.