С jQuery это работает на меня:
$('img').error(function() {
$(this).attr('src', '/no-img.png').addClass('no-img');
});
И я могу использовать эту картинку на моем сайте, независимо от ее размера, следующее свойство CSS3:
img.no-img {
object-fit: cover;
object-position: 50% 50%;
}
СОВЕТ. Используйте квадратное изображение размером не менее 800 x 800 пикселей.
blockquote>CSS только для background-img
Для отсутствующих фоновых изображений я также добавил следующее в каждом объявлении
background-image
:background-image: url('path-to-image.png'), url('no-img.png');
ПРЕДУПРЕЖДЕНИЕ: Не работает для прозрачных изображений.
blockquote>Сторона сервера Apache
Еще одно решение - обнаружить отсутствующее изображение с Apache перед отправкой в браузер и перепрофилировать его содержимым defualt no-img.png.
RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} /images/.*\.(gif|jpg|jpeg|png)$ RewriteRule .* /images/no-img.png [L,R=307]