Lazyload для html полей

+27
2.88K
Компонент организует "ленивую" загрузку изображений в html полях, обрабатываемых типографом.

Lazy loading – это метод оптимизации скорости загрузки медиафайлов, некритичных для отображения страницы или взаимодействия с пользователями. При «отложенной загрузке» изображения не будут загружаться, пока не понадобятся посетителю.

В текущей реализации, на мой взгляд, самая корректная "ленивая" загрузка. Во-первых, факт попадания изображения в поле зрения пользователя отслеживается с помощью API IntersectionObserver, которое встроено в браузер. Во-вторых, не меняется атрибут src, а используется тот факт, что

в случае если указан атрибут srcset то браузер показывает то, что в этом атрибуте, вне зависимости от того, что находится в атрибуте src.

Т.е. поисковик увидит в атрибуте src именно картинку, а не пиксельную заглушку, как в других реализациях.
И в третьих, добавлена проверка на поддержку API IntersectionObserver в браузере, и если ее нет, то компонент просто покажет все картинки пользователю как есть.

Скачать можно у меня в профиле /users/zau4man в файлах
Там же можно поблагодарить плюсиком в карму.

Установить по инструкции docs.instantcms.ru/manual/addons

Группе, к которой вы принадлежите, запрещено просматривать этот скрытый текст


Поставляется как есть.
Пожелания, баги можно писать тут.
0
Def Def 5 лет назад #
а для виджетов, содержащих изображения такое же возможно?) идея отличная!
+1
Zau4man Zau4man 5 лет назад #
Все можно.
Сперва и хотел делать компонент с опциями.
Но не могу нафантазировать.

Ну и в коде виджета/компонента должен быть хук, чтобы можно было внести правки в вывод изображений на просмотр.
0
Def Def 5 лет назад #
может перехватывать как то сразу, если определилось изображение в виджете?
0
Def Def 5 лет назад #
эх, жаль не пошла идея дальше поля(
+1
Zau4man Zau4man 5 лет назад #
0
Killer's dream Killer's dream 5 лет назад #
С этим компонентом вкладка "Контент" в админке виснет, и не грузит список.
0
Honko Honko 5 лет назад #
подтверждаю эту проблему.
+1
maxisoft maxisoft 5 лет назад #
Да есть такая ошибка в ближайшее время ее исправлю.
+1
maxisoft maxisoft 5 лет назад #
ага есть и такое :)
0
Def Def 5 лет назад #
починилось?)
+2
maxisoft maxisoft 5 лет назад #
Да обновление доступно в каталоге.
0
4eremnykh 4eremnykh 5 лет назад #
нет не починилось, не грузит, только заметил прочитав
0
4eremnykh 4eremnykh 5 лет назад #
а не все норм сам ступил, в фильтре слова были набраны
0
4eremnykh 4eremnykh 5 лет назад #
Вот что заметил! При включении данного компонента исчезают кнопки редактора при добавлении постов, событий, страниц и т.п. У кого также? И Хотелось бы спросить у разрабов компонента у zau4man и maxisoft

НО КОМПОНЕНТ УСТАНОВЛЕН ИМЕННО ОТ maxisoft
0
4eremnykh 4eremnykh 5 лет назад #
не отображается именно Встроенный редактор, маркетип норм грузится и сторонний iredactor
+2
maxisoft maxisoft 5 лет назад #
скоро будет патч для исправления данной проблемы.
0
Def Def 5 лет назад #
Заметил, что ещё картинки нет в архиве. А в файле есть ссылка на картинку заглушку

Me-dent . Ru ещё какой то интересный скрипт использует)
0
Def Def 5 лет назад #
Заметил, что ещё картинки нет в архиве. А в файле есть ссылка на картинку заглушку

Me-dent . Ru ещё какой то интересный скрипт использует)
0
Chambers Chambers 1 год назад #

На актуальной версии 2.16.2 работает без нареканий.

Еще от автора

Шаблон вывода категорий
Делюсь небольшим компонентом, который выводит на списком записей список категорий со своим шаблоном.
Виджет "Меню добавить"
Небольшой виджет, предназначенный исключительно для вывода меню добавления контента.
ZПоиск. Другой взгляд на поиск
В рамках более глубокого знакомства с Vue в частности с появившимся недавно Composition Api сделал на Vue небольшой компонент, который по функционалу
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.