Ленивая подгрузка картинок в компоненте, на vue js Битрикс

RSS
Ленивая подгрузка картинок в компоненте, на vue js Битрикс
 
Ленивая подгрузка картинок в компоненте, на vue js Битрикс

Если на одну страницу сайта выводится большое количество картинок, которые могут долго подгружаться- либо нужно попасть в зеленую зону Google Page Speed. Можно воспользоваться директивой Image LazyLoad - ленивая подгрузка картинок. Картинки подгружаются по мере прокрутки страницы, вместо попытки загрузить все сразу.
 
Столкнулся с проблемой, что после сброса кэша работает. как только появляется кэш то не работает ленивая загрузка. Не сталкивались?
 
Цитата
Дмитрий Мамченко написал:
Столкнулся с проблемой, что после сброса кэша работает. как только появляется кэш то не работает ленивая загрузка. Не сталкивались?
Не замечал, сейчас у себя скинул кеш- вроде бы все работает как надо
 
Прошу подсказать код для:
Код
<span
   class="product-item-image-original"
   id="<?=$itemIds['PICT'];?>"
   style="background-image:url('<?=$item['PREVIEW_PICTURE']['SRC']?>'); <?=($showSlider ? 'display: none;' : '')?>"
>
</span>

Никак не могу разобраться :-(
 
Цитата
Дмитрий Мамченко пишет:
(в примере, подключил vue и директиву прямо в шаблоне компонента - для наглядности)
(в примере, подключил vue и директиву прямо в шаблоне компонента - для наглядности)

и получим проблему, когда template.php закешируется, для наглядности
 
(в примере, подключил vue и директиву прямо в шаблоне компонента - для наглядности)

и получим проблему не подключения в template.php

\Bitrix\Main\UI\Extension::load("ui.vue");
\Bitrix\Main\UI\Extension::load("ui.vue.directives.lazyload");

при включеном кеше, для нагляности
 
Цитата
Стас Хлопотов написал:
(в примере, подключил vue и директиву прямо в шаблоне компонента - для наглядности)

и получим проблему не подключения в template.php

\Bitrix\Main\UI\Extension::load("ui.vue");
\Bitrix\Main\UI\Extension::load("ui.vue.directives.lazyload");

при включеном кеше, для нагляности
Включил у себя, в портфолио - работает без проблем (c кешированием)
Но, согласен, в template.php - подключать не стоит. Это в целом не практично
 
Цитата
написал:
(в примере, подключил vue и директиву прямо в шаблоне компонента - для наглядности)
и получим проблему не подключения в template.php
\Bitrix\Main\UI\Extension::load("ui.vue");
\Bitrix\Main\UI\Extension::load("ui.vue.directives.lazyload");
при включеном кеше, для нагляности
Мне часто помогает этот сайт и я решил внести свою лепту. Столкнулся с той же проблемой (подключение пользовательских расширений и кеширование). Нигде не нашёл ответ в интернете, а в документации до сих пор пусто. Появилась гипотеза - всё сработало. Спросил у техподдержки и они предоставили то же решение, которое я нашёл до этого. Цитирую техподдержку:

"Подключение расширения нужно осуществлять в некешируемой области, для этого подходит component_epilog.php."

То есть, создаете файл component_epilog.php, подключаете проверку включения и далее подключаете класс загрузки расширения.
Изменено: Михаил Базаров - 13.08.2022 09:22:49
 
Цитата
Гость написал:
при включеном кеше, для нагляности
Появилась гипотеза - всё сработало. Спросил у техподдержки и они предоставили то же решение, которое я нашёл до этого. Цитирую техподдержку:

"Подключение расширения нужно осуществлять в некешируемой области, для этого подходит component_epilog.php."

То есть, создаете файл component_epilog.php, подключаете проверку включения и далее подключаете класс загрузки расширения.

Да, спасибо. Что бы больше ни у кого не было проблем, внес корректрировку в комментарий по коду.
Изменено: Михаил Базаров - 13.08.2022 09:23:57
Форма ответов
 
Текст сообщения*
Перетащите файлы
Ничего не найдено
Файл
Загрузить файлы
 
Поблагодарить и поддержать:
Или подписаться на boosty канал: Видео на Ютубе