Lazyload для html полей

+27
2.83K
Компонент организует "ленивую" загрузку изображений в 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 11 месяцев назад #

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

Еще от автора

Элемент Вопросы/Ответы для конструктора блоков Zbuilder
В приложении к посту архив, при установке которого в компонент Zbuilder будет добавлен элемент Вопросы/ответы, который используется на демо
Конструктор блоков Zbuilder
Я уже делал и использовал на нескольких проектах шорткоды. Мне не понравилось. Потом были просто блоки. Собрал из них несколько проектов.
Про дочерние шаблоны в 2.17.0
В ближайшее время состоится релиз InstantCMS 2.17.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.