Очередная недоработка в последних версиях DLE с LazyLoad
Все знают что в ДЛЕ уже как несколько версий есть скрипт LazyLoad для отложенной загрузки медиа-контента. Но поскольку последние годы всё больше сайтов создаются на ДЛЕ как онлайн кинотеатры, и спойлер стандартный из DLE не используется, то и бага этого раньше никто не выявил.
Здесь проблема в функции ShowOrHide:
function ShowOrHide( id ) {
в которой не прописан LazyLoad. Для решения проблемы нужно всего лишь заменить файл dle_js.js на файл из папки Developer\uncompressed из архива оригинала ДЛЕ, и заменить им файл в папке engine\classes\js. Далее найти:image = document.getElementById('image-'+ id);
и добавить ниже:$('[data-src]').lazyLoadXT ();
Или можете скачать файл ниже для версии DLE 14.3 и заменить на данный файл:
[attachment=158:dle_js.zip]
PS, но заметил небольшой косяк с + и - (открыть и закрыть спойлер) после этой правки. Но пока что думаю это не критично. Разработчики возможно это исправят либо в новом билде, либо в новой версии DLE.