@viktorross

Как вывести картинку вместо alt?

здравствуйте, произошла проблема, удалилось очень много изображений с сервера, а ссылки на них выводятся в шаблон, но вместо них появляется alt, так вот, можно ли заменить текст alt и испорченную иконку картинки какой нибудь нормально фотографией, типа нет изображения..

<a href="{$details_url}"><img id="fpic{$latest[loop].id}" style="min-height: 205px !important; max-height: 205px !important;object-fit: cover;" src="{$live_site}/{$latest[loop].bigImage}" alt="{if $latest[loop].image_id}{$latest[loop].title|strip_tags:false|substr:0:100}{/if}" /></a>
  • Вопрос задан
  • 344 просмотра
Пригласить эксперта
Ответы на вопрос 2
Hecc
@Hecc
Frontend. Дизайн. Шрифт.
В целом, легко можно отследить на клиенте проблемные картинки.
Единственное, скрипт перебирает все картинки на странице. Если есть возможность на проблемные картинки навесить какой-то класс, чтобы как-то уточнить выборку я бы так и сделал.

const checkImagePromise = ( url ) => new Promise( (resolve, reject ) => {
    let img = new Image();
        img.addEventListener('load', resolve );
        img.addEventListener('error', reject );
        img.src = url;
});

document.addEventListener('DOMContentLoaded', () => {
    // Вот тут выбираем все картинки в документе. Этот селектор можно уточнить
    let images = document.querySelectorAll('img');
    images.forEach( img => {
        checkImagePromise( img.src )
            .then( res => {
                // С картинкой все ок - ничего не делаем
            })
            .catch( error => {
                // С картинкой ошибка - ставим заглушку
                img.src = 'refreshing.svg';
            });
    });
});
Ответ написан
chakaponi
@chakaponi
Просто замените атрибут href на необходимую картинку. Если везде этот атрибут разный, то можно банально переименовать его в, например, breakHref и затем создать href с нужной ссылкой
Ответ написан
Ваш ответ на вопрос

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

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