Скрыть объявление
ВАШИ ПРАВА ОГРАНИЧЕНЫ!

Зарегистрируйтесь на форуме, чтобы стать полноценным участником сообщества!

DLE Ленивая загрузка (lazyload) img, video, source, iframe в dle 13.2

Тема в разделе "Хаки DLE", создана пользователем byroot, 10 апр 2019.

10.04.19 в 07:35
18.10.22 в 05:39
131
21.649
3
  1. TopicStarter Overlay
    byroot

    Забанен

    Регистрация:
    10 окт 2015
    Сообщения:
    12.297
    Лучших ответов:
    54
    Рейтинги:
    +5.205 / 74 / -0
  2. vadim3553

    vadim3553 Зелёный

    Регистрация:
    2 янв 2019
    Сообщения:
    24
    Лучших ответов:
    0
    Рейтинги:
    +1 / 0 / -0
    В том и дело, что не работает, вот что ответил целсофт
    Теги не универсальные для всех шаблонов, они работают только в шаблоне main.tpl а также в шаблонах вывода кратких и полный новостей.
     
  3. vadim3553

    vadim3553 Зелёный

    Регистрация:
    2 янв 2019
    Сообщения:
    24
    Лучших ответов:
    0
    Рейтинги:
    +1 / 0 / -0
    Вот и не могу найти никакое нормальное решение
     
  4. vadim3553

    vadim3553 Зелёный

    Регистрация:
    2 янв 2019
    Сообщения:
    24
    Лучших ответов:
    0
    Рейтинги:
    +1 / 0 / -0
    Не получается. Больше ничего не подскажите?
     
  5. TopicStarter Overlay
    byroot

    Забанен

    Регистрация:
    10 окт 2015
    Сообщения:
    12.297
    Лучших ответов:
    54
    Рейтинги:
    +5.205 / 74 / -0
    vadim3553 в последних версиях есть тег вывода навигации отдельно от тега контента. Используй его в совокупности с катлист и всё получится.
     
  6. vadim3553

    vadim3553 Зелёный

    Регистрация:
    2 янв 2019
    Сообщения:
    24
    Лучших ответов:
    0
    Рейтинги:
    +1 / 0 / -0
    Что-то не соображу никак, не получается. Версия 13,3
     
  7. ZeuS

    ZeuS Бывалый

    Регистрация:
    5 окт 2015
    Сообщения:
    138
    Лучших ответов:
    0
    Рейтинги:
    +40 / 0 / -0
    Кто то разобрался, какие табы работают с ленивой загрузкой? А то у мебя вижу что 2 плеер не появляется пока не прокрутишь
     
  8. TopicStarter Overlay
    byroot

    Забанен

    Регистрация:
    10 окт 2015
    Сообщения:
    12.297
    Лучших ответов:
    54
    Рейтинги:
    +5.205 / 74 / -0
    какой шаблон?
    на примере табов, не помню с какого шаблона, но у вебрембо все табы примерно одинаковые - https://byroot.ru/157-poleznye-napominalki.html#hmenu-2
     
  9. ZeuS

    ZeuS Бывалый

    Регистрация:
    5 окт 2015
    Сообщения:
    138
    Лучших ответов:
    0
    Рейтинги:
    +40 / 0 / -0
  10. ZeuS

    ZeuS Бывалый

    Регистрация:
    5 окт 2015
    Сообщения:
    138
    Лучших ответов:
    0
    Рейтинги:
    +40 / 0 / -0
    проверил на шаблоне вебрембо. не появляется 2 плеер: пока не прокрутишь
     
  11. TopicStarter Overlay
    byroot

    Забанен

    Регистрация:
    10 окт 2015
    Сообщения:
    12.297
    Лучших ответов:
    54
    Рейтинги:
    +5.205 / 74 / -0
    js/libs.js найти
    Код:
    $(this).addClass('selected');
    ниже добавить
    Код:
    $('[data-src]').lazyLoadXT ();
    на локалке проверил - всё норм работает
     
    • Полезно Полезно x 1
  12. TopicStarter Overlay
    byroot

    Забанен

    Регистрация:
    10 окт 2015
    Сообщения:
    12.297
    Лучших ответов:
    54
    Рейтинги:
    +5.205 / 74 / -0
    везде нужно чистить, или в шаблоне к libs.js?v=1 добавлять надо
     
  13. TopicStarter Overlay
    byroot

    Забанен

    Регистрация:
    10 окт 2015
    Сообщения:
    12.297
    Лучших ответов:
    54
    Рейтинги:
    +5.205 / 74 / -0
  14. ZeuS

    ZeuS Бывалый

    Регистрация:
    5 окт 2015
    Сообщения:
    138
    Лучших ответов:
    0
    Рейтинги:
    +40 / 0 / -0
    у меня что то не работает сайт. пишет - Срок регистрации домена byroot.ru истек!
     
  15. TopicStarter Overlay
    byroot

    Забанен

    Регистрация:
    10 окт 2015
    Сообщения:
    12.297
    Лучших ответов:
    54
    Рейтинги:
    +5.205 / 74 / -0
    ах да, забыл про это :( продлю его скоро. у меня только как ни странно почему то он работает :eek: хотя оказывается ещё 15-го числа приостановлен он уже был.
     
  16. ZeuS

    ZeuS Бывалый

    Регистрация:
    5 окт 2015
    Сообщения:
    138
    Лучших ответов:
    0
    Рейтинги:
    +40 / 0 / -0
    Работает. Спасибо. А к такому табу как прописать верно не подскажешь?

    Код:
    $(document).ready(function() {
        $("ul.tabs").delegate("li:not(.current)", "click", function() {
            $(this).addClass("current").siblings().removeClass("current").parents("div.section").find("div.box").hide().eq($(this).index()).fadeIn(300)
        })
    });
     
  17. TopicStarter Overlay
    byroot

    Забанен

    Регистрация:
    10 окт 2015
    Сообщения:
    12.297
    Лучших ответов:
    54
    Рейтинги:
    +5.205 / 74 / -0
    Примерно как в блоге у меня указано:
    Код:
    .fadeIn (300);$('[data-src]').lazyLoadXT ();
     
  18. Roman.U

    PRO Users

    Регистрация:
    13 ноя 2015
    Сообщения:
    6.187
    Лучших ответов:
    5
    Рейтинги:
    +1.037 / 117 / -0
    Включил в админке отложенную загрузку изображений.
    В /engine/classes/js/lazyload.js заменил на код:
    Код:
    /* Lazy Load XT 1.1.0 | MIT License */
    !function(a,b,c,d){function e(a,b){return a[b]===d?t[b]:a[b]}function f(){var a=b.pageYOffset;return a===d?r.scrollTop:a}function g(a,b){var c=t["on"+a];c&&(w(c)?c.call(b[0]):(c.addClass&&b.addClass(c.addClass),c.removeClass&&b.removeClass(c.removeClass))),b.trigger("lazy"+a,[b]),k()}function h(b){g(b.type,a(this).off(p,h))}function i(c){if(z.length){c=c||t.forceLoad,A=1/0;var d,e,i=f(),j=b.innerHeight||r.clientHeight,k=b.innerWidth||r.clientWidth;for(d=0,e=z.length;e>d;d++){var l,m=z[d],q=m[0],s=m[n],u=!1,v=c||y(q,o)<0;if(a.contains(r,q)){if(c||!s.visibleOnly||q.offsetWidth||q.offsetHeight){if(!v){var x=q.getBoundingClientRect(),B=s.edgeX,C=s.edgeY;l=x.top+i-C-j,v=i>=l&&x.bottom>-C&&x.left<=k+B&&x.right>-B}if(v){m.on(p,h),g("show",m);var D=s.srcAttr,E=w(D)?D(m):q.getAttribute(D);E&&(q.src=E),u=!0}else A>l&&(A=l)}}else u=!0;u&&(y(q,o,0),z.splice(d--,1),e--)}e||g("complete",a(r))}}function j(){B>1?(B=1,i(),setTimeout(j,t.throttle)):B=0}function k(a){z.length&&(a&&"scroll"===a.type&&a.currentTarget===b&&A>=f()||(B||setTimeout(j,0),B=2))}function l(){v.lazyLoadXT()}function m(){i(!0)}var n="lazyLoadXT",o="lazied",p="load error",q="lazy-hidden",r=c.documentElement||c.body,s=b.onscroll===d||!!b.operamini||!r.getBoundingClientRect,t={autoInit:!0,selector:"img[data-src]",blankImage:"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",throttle:99,forceLoad:s,loadEvent:"pageshow",updateEvent:"load orientationchange resize scroll touchmove focus",forceEvent:"lazyloadall",oninit:{removeClass:"lazy"},onshow:{addClass:q},onload:{removeClass:q,addClass:"lazy-loaded"},onerror:{removeClass:q},checkDuplicates:!0},u={srcAttr:"data-src",edgeX:0,edgeY:0,visibleOnly:!0},v=a(b),w=a.isFunction,x=a.extend,y=a.data||function(b,c){return a(b).data(c)},z=[],A=0,B=0;a[n]=x(t,u,a[n]),a.fn[n]=function(c){c=c||{};var d,f=e(c,"blankImage"),h=e(c,"checkDuplicates"),i=e(c,"scrollContainer"),j=e(c,"show"),l={};a(i).on("scroll",k);for(d in u)l[d]=e(c,d);return this.each(function(d,e){if(e===b)a(t.selector).lazyLoadXT(c);else{var i=h&&y(e,o),m=a(e).data(o,j?-1:1);if(i)return void k();f&&"IMG"===e.tagName&&!e.src&&(e.src=f),m[n]=x({},l),g("init",m),z.push(m),k()}})},a(c).ready(function(){g("start",v),v.on(t.updateEvent,k).on(t.forceEvent,m),a(c).on(t.updateEvent,k),t.autoInit&&(v.on(t.loadEvent,l),l())})}(window.jQuery||window.Zepto||window.$,window,document),function(a){var b=a.lazyLoadXT;b.selector+=",video,iframe[data-src]",b.videoPoster="data-poster",a(document).on("lazyshow","video",function(c,d){var e=d.lazyLoadXT.srcAttr,f=a.isFunction(e),g=!1;d.attr("poster",d.attr(b.videoPoster)),d.children("source,track").each(function(b,c){var d=a(c),h=f?e(d):d.attr(e);h&&(d.attr("src",h),g=!0)}),g&&this.load()})}(window.jQuery||window.Zepto||window.$);
    В шаблоне в шот стори в место src прописал data-src .
    В итоге изображений нет, что не так сделал? DataLife Engine: 13.2
     
  19. Bashmak

    PRO Users

    Регистрация:
    25 фев 2017
    Сообщения:
    642
    Лучших ответов:
    1
    Рейтинги:
    +167 / 25 / -0
    Заменять не надо, надо добавить data-src с ссылкой на картинку, а в src ссылку на картинку заглушку.

    И зачем в js что-то менял? Из коробоки же идёт.
     
  20. Roman.U

    PRO Users

    Регистрация:
    13 ноя 2015
    Сообщения:
    6.187
    Лучших ответов:
    5
    Рейтинги:
    +1.037 / 117 / -0
    Теперь ваше нефига не понял.
    <img data-src="/uploads/posts/2020-08/1598649538_kuhnja-8-sezon.jpg" alt=""> вот так примерно в коде должно быть, у меня такого нет.
     
Похожие темы
  1. кинец
    Ответов:
    1
    Просмотров:
    1.070
  2. nicos777
    Ответов:
    4
    Просмотров:
    1.062
  3. lowka123
    Ответов:
    3
    Просмотров:
    831
  4. Lolpron
    Ответов:
    4
    Просмотров:
    374
Загрузка...
Яндекс.Метрика