• 19-12-2024, 18:40:49
    #1
    Merhaba

    Sitemde resim yüklemeyi ertelemek için lazyload kullanmak istiyorum. Şuan popüler olan HTML 5 ile herhangi bir js tanımlamadan yapılıyor ama pek etkili değil. Çoğu tarayıcı ve arama motorları desteklemiyor.

    Javascript kullanılarak bu lazyload 'ın orjinal hali kütüphanesine nereden ulaşabilirim. Araştırdım ama net bir kaynak bulamadım.

    İyi forumlar herkese
  • 19-12-2024, 18:44:09
    #2
    https://github.com/verlok/vanilla-lazyload burda dosyaları var ama iş görür mü bilmiyorum konu up
  • 19-12-2024, 18:45:09
    #3
    obisa adlı üyeden alıntı: mesajı görüntüle
    https://github.com/verlok/vanilla-lazyload burda dosyaları var ama iş görür mü bilmiyorum konu up
    Evet amda orayı inceliyordum indirim hocam ama yüzlerce dosya indirdi, çok karışık. Bunun kendi sitesi yok mu acaba
  • 19-12-2024, 19:43:54
    #5
    Normalde loading="lazy" 'i çoğu tarayıcı destekliyor. ama dediğiniz gibi tam işlemesede yinede direkt indiriyor. aşağıdaki gibi resimlere class="lazyload" ve data-src verirseniz bu sefer her resim gerçek lazy olur.

    <img class="lazyload" data-src="https://imageyoutube.com/images/youtube-thumbnail-download.png" alt="youtube thumbnail download" style="width:854px;height:256px;" loading="lazy">
    
    <script>
    document.addEventListener("DOMContentLoaded", function () {
    const lazyImages = document.querySelectorAll('.lazyload');
    const observer = new IntersectionObserver((entries, observer) => {
    entries.forEach(entry => {
    if (entry.isIntersecting) {
    const img = entry.target;const src = img.getAttribute('data-src');if (src) img.src = src;img.classList.remove('lazyload');observer.unobserve(img);
    }});});
    lazyImages.forEach(img => observer.observe(img));});
    </script>
  • 21-12-2024, 18:42:02
    #6
    Protex adlı üyeden alıntı: mesajı görüntüle
    Normalde loading="lazy" 'i çoğu tarayıcı destekliyor. ama dediğiniz gibi tam işlemesede yinede direkt indiriyor. aşağıdaki gibi resimlere class="lazyload" ve data-src verirseniz bu sefer her resim gerçek lazy olur.

    <img class="lazyload" data-src="https://imageyoutube.com/images/youtube-thumbnail-download.png" alt="youtube thumbnail download" style="width:854px;height:256px;" loading="lazy">
    
    <script>
    document.addEventListener("DOMContentLoaded", function () {
    const lazyImages = document.querySelectorAll('.lazyload');
    const observer = new IntersectionObserver((entries, observer) => {
    entries.forEach(entry => {
    if (entry.isIntersecting) {
    const img = entry.target;const src = img.getAttribute('data-src');if (src) img.src = src;img.classList.remove('lazyload');observer.unobserve(img);
    }});});
    lazyImages.forEach(img => observer.observe(img));});
    </script>
    hocam öncelikle cevabınız için teşekkür ederim. benim indirdiğim lazyload da data-src yerine data-original kullanıyor. Acaba eski sürüm diyemi?

    ikinici bir husus; data-src de olsa revolation slider daki grafikler yine çalışmayacak. Slider daki grafikler için lazy nasıl kullanılmalı?

    teşekkürler.
  • 21-12-2024, 21:40:06
    #7
    Arven61 adlı üyeden alıntı: mesajı görüntüle
    hocam öncelikle cevabınız için teşekkür ederim. benim indirdiğim lazyload da data-src yerine data-original kullanıyor. Acaba eski sürüm diyemi?

    ikinici bir husus; data-src de olsa revolation slider daki grafikler yine çalışmayacak. Slider daki grafikler için lazy nasıl kullanılmalı?

    teşekkürler.

    Sayfanın hızlı açılması ve pagespeed değerlerinin iyi olması için slider mantıken şöyle olmalı: Slider'deki ilk resim'e lazy verilmemeli(Slider sayfada yukarda ise, CLS oluşmaması için). Sonraki resimler için Sliderin bulunduğu div , js de belirtilip ayrı tutulmalı ve slider içindeki data-src ler sayfa onload olduktan sonra 2 saniyede bir çağrılmalı.