lazysizes или lazyload.
Почему это так работает?
В начальной загрузке изображения (или его плейсхолдер) используется значение data:image/gif;base64,... в атрибуте src, чтобы браузер мог отобразить минимальный прозрачный или пустой плейсхолдер. Затем библиотека заменяет его на физический путь, указанный в data-src, как только изображение попадает в видимую область.
Если у вас на сайте АСПРО включена настройка: Использовать "ленивую" (LazyLoad) подгрузку изображений (отображение только видимых картинок) и нужно ее отключить только для определенного блока на странице, можно поступить следующим образом:
Решение с JavaScript для класса .exclude-lazy img
Добавим код, который сразу устанавливает значение атрибута src для изображений, находящихся в контейнерах с классом .exclude-lazy, и исключает ленивую загрузку:
document.addEventListener("DOMContentLoaded", () => {
const images = document.querySelectorAll(".exclude-lazy img.lazyload");
images.forEach((img) => {
if (img.dataset.src) {
img.src = img.dataset.src; // Устанавливаем src на основе data-src
img.removeAttribute("data-src"); // Убираем атрибут data-src, если он больше не нужен
img.classList.remove("lazyload"); // Убираем класс lazyload
}
});
});
Объяснение:
- Поиск изображений:
document.querySelectorAll(".exclude-lazy img.lazyload")— выбираем только изображения с классом.lazyloadвнутри контейнера с классом.exclude-lazy. - Замена
src: Для каждого такого изображения мы заменяем атрибутsrcна значениеdata-src. - Удаление атрибутов: Убираем атрибут
data-srcи классlazyload, чтобы отключить ленивую загрузку и сделать изображение обычным.
Этот код гарантирует, что изображения с классом exclude-lazy не будут подвержены ленивой загрузке и будут загружаться немедленно, используя их атрибут data-src.