@Igorek1999

Как можно отловить событие, момент, что изображения не существует и вместо него вставить другое?

Бывает ситуация, что на некоторые посты забыли вставить картинку и в результате мы видим текст над которым пустота и иконка картинки, когда нет изображения, но тег стоит.

Как отлавливать такие момент, что если изображение не найдено, то подставлять другое по умолчанию?
  • Вопрос задан
  • 207 просмотров
Решения вопроса 2
monochromer
@monochromer
DIVeloper
Два варианта:
1. Если серверный рендер, то наличие картинки можно проверять в шаблонизаторе и подставлять другой вариант

{% if post.image %}
<img src="{{ post.image }}" />
{% else %}
<!-- placeholder -->
{% endif %}


2. На клиенте - использовать событие `error` у картинки

<img src="..." onerror="..." />
Ответ написан
Комментировать
malente
@malente
// Nach errors suchen und durch das Bild ersetzen
$('img').on('error', function(){
    $(this).attr('src', 'broken-image.png');
});
 
// Oder ausblenden
$("img").on('error', function(){
    $(this).hide();
});
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Картинки в отдельном локайшене и для него указываете 404 обработчик с вашей картинкой по умолчанию. Все!
Ответ написан
Комментировать
AngryYumy
@AngryYumy
Заплати фрилансеру чеканой монетой
Просто сделайте проверку, если при отправке полн оказалось пустым то поставьте картинку по умолчанию - вот и все.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы