<img src="/a.jpg" onerror="fetch(\'/a.jpg\')
.then(code => console.log(code === 499
? 'image will be available in a moment'
: 'image not found'))">
Возможно ли это сделать без запуска двух HTTP-запросов (один с помощью img.src
и один с помощью fetch
функции)?
Мой пример использования: я хочу запустить цикл опроса (который я уже реализовал, просто пропустил его там для простоты), который попытается загрузить изображение, если оно все еще готовится на сервере (цикл, конечно, будет запускать больше запросов HTTP, но это нормально), но если изображение на самом деле несуществует, просто покажите «изображение не найдено».
Сервер может быть реализован, например, следующим образом:
- , если изображение существует и готов миниатюра, вернуть ответ изображения
- если изображение существует, но миниатюра еще не готова, верните определенный HTTP-код (499)
Для меня достаточно совместимости с современными браузерами и IE 11.