Александр, доброго вечера Вам! Пытаюсь сделать отложенную загрузку изображений, частично всё работает, но есть проблемы с mFilter2
Использую этот скрипт: https://github.com/malchata/yall.js/blob/main/dist/yall.umd.js
В шаблоне вызов такой:
<script src="/js/yall.min.js"></script></code><code><script>document.addEventListener("DOMContentLoaded", yall);</script>
В чанке mFilter2:
<img class="lazy" data-src="{$image}" alt="" width="200" height="150" />
При загрузке страницы и скроллинге вниз, изображения подгружаются, всё работает как нужно, но если воспользоваться фильтром в место изображений заглушка, картинки не грузятся пока не перезагрузишь страницу. Предполагаю, возможно нужно использовать событие mse2_load, но как это правильно сделать?
А как работает этот плагин? Первой строчкой вы его подключили, второй — инициализировали. А что вы хотите ещё прописать? Может он просто не обрабатывает динамический контент?
Попробуйте другие варианты.
1. Для создания ленивых изображений без JavaScript можно выполнить простым добавлением к изображению атрибута loading=«lazy»:
2. Использовать другой скрипт, например lazysizes.
Я предполагал что можно сделать чтобы он работал с динамическим контентом, приглянулся, весит копейки и в IE работает.
Изначально использовал: loading=«lazy» и при тесте сделал ошибочный вывод, что он не работает с динамическим контентом, хотя сейчас посмотрел, всё работает, но есть минус, этот вариант не поддерживается IE, или я не прав?
Александр, ссылка на страницу 404 ведёт! Походу в этот раз я из велосипеда, планировал сделать вертолёт:)
Ниже пример, который работает и подгружается с обычными изображениями при прокрутке страницы,
но стоит только убрать класс: lazyload и использовать скрипт для определённого блока, изображения в блоке просто не загружаются.
Например: