Используя Ajax, я проверяю, доступны ли два источника изображения на сервере или нет. Код Ajax следующий:
if (result['img_one'] !== '') {
var src_one = "blah-blah-one.jpg";
$.ajax({url: src_one,
success: function(data, textStatus) {
$("#profile-box").show();
$("#profile-img").attr("src", src_one);
},
error: function(jqXHR, textStatus, errorThrown) {
$('#profile-box').hide();
}
});
}
if (result['img_two'] !== '') {
var src_two = "blah-blah-two.jpg";
$.ajax({url: src_two,
success: function(data, textStatus) {
$("#profile-box").show();
$("#profile-pic").attr("src", src_two);
},
error: function(jqXHR, textStatus, errorThrown) {
$('#profile-box').hide();
}
});
}
После этих двух блоков кода я хочу проверить, доступны ли и загружены оба изображения, или нет. Однако, будучи новичком ie, я не могу этого сделать. Использование $ .when и .done мне не помогло, и проблема до сих пор сохраняется. Я перепробовал много разных способов и техник, чтобы проверить, существуют ли изображения на сервере, однако при проверке доступности обоих я столкнулся с проблемой. Другими словами, я могу проверить, существует ли каждое изображение, но когда я хочу выполнить другое действие, когда они оба доступны, я застреваю. Пожалуйста, помогите.
Даже следующие функции не помогли:
function checkImage(url){
var image = new Image();
image.src = url;
if (!image.complete) {
return false;
}
else if (image.height === 0) {
return false;
}
return true;
}
и
function imageExists (src) {
var result;
$("<img>").attr('src', src).on("error", function(e) {
result = false;
})
.on("load", function(e) {
result = true;
});
return result;
}