Загрузка изображений в формате HTML. Разница между отсутствием ответа и ответом с ошибкойHtml

Программисты Html
Ответить
Anonymous
 Загрузка изображений в формате HTML. Разница между отсутствием ответа и ответом с ошибкой

Сообщение Anonymous »

Я создаю своего рода приложение-галерею. Пользователи добавляют изображения, вставляя URL-адреса в базу данных, а затем HTML-страница связывает их. Очевидно, из-за гниения ссылок галерея полна изображений, которые не загружаются.
У меня есть система для отправки отчетов об изображениях по разным причинам, но отчеты необходимо отправлять вручную, заполнив форму прямо сейчас. Я хотел бы реализовать автоматический отчет об ошибках изображения, когда изображение не загружается.
У меня уже есть код, который обнаруживает сбой загрузки и заменяет изображение заполнителем:

Код: Выделить всё

$("#main-img").on("error", function(event) {imgErrorHandle(event)});
function imgErrorHandle(event)
{
$("#main-img").attr("src", '/images/file-error.svg');
if (event.responseCode / 100 === 4) { reportImage("Image fails to load."); } //TODO, event.responseCode doesn't exist
}
Но проблема в том, что я хочу отправить автоматический отчет только в том случае, если запрос на загрузку изображения удался и просто вернул код ошибки 4XX. Я не хочу отправлять отчет, если к серверу просто невозможно подключиться, потому что, скорее всего, это всего лишь временное состояние.
Я не могу найти способ определить, какая ошибка вызвала прослушиватель событий onError. Объект события, похоже, не содержит ничего полезного для различения двух состояний:

Код: Выделить всё

  "originalEvent": {
"isTrusted": true
},
"type": "error",
"target": {
"jQuery3510050515854004395511": {
"events": {
"error": [
{
"type": "error",
"origType": "error",
"guid": 18,
"namespace": ""
}
]
}
}
},
"currentTarget": {
"jQuery3510050515854004395511": {
"events": {
"error": [
{
"type": "error",
"origType": "error",
"guid": 18,
"namespace": ""
}
]
}
}
},
"timeStamp": 3073,
"jQuery351005051585400439551": true,
"delegateTarget": {
"jQuery3510050515854004395511": {
"events": {
"error": [
{
"type": "error",
"origType": "error",
"guid": 18,
"namespace": ""
}
]
}
}
},
"handleObj": {
"type": "error",
"origType": "error",
"guid": 18,
"namespace": ""
}
}
Я полагаю, можно было бы загрузить изображение с помощью AJAX и проверить значение кода ответа, но я бы хотел этого избежать, если это возможно.

Подробнее здесь: https://stackoverflow.com/questions/798 ... r-response
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Html»