Comment faire du lazy loading image avec srcset?
Je suis en utilisant slick.js de construire un manège. Cependant, même si je change l'attribut de src
à data-lazy
les images toujours chargées avant que j'ai faites défiler jusqu'à l'image. Je soupçonne que c'est parce que j'ai srcset
tag à mon image. Ma question est de savoir comment empêcher le navigateur de charger image réactive ou comment faire du lazy-loading pour répondre correctement les images.
C'est l'exemple de ma balise img
<img data-lazy="better_me.jpg" srcset="better_me.jpg 400w, better_me.jpg 200w" class="avatar photo avatar-200" alt="better_me" width="200" height="200" sizes="(min-device-resolution: 1.6) 400px, 200px">
vous pouvez essayer de regarder ici: afarkas.github.io/lazysizes
J'ai essayé lazysizes. Mais les images toujours chargées avant que l'image est affichée.
J'ai essayé lazysizes. Mais les images toujours chargées avant que l'image est affichée.
OriginalL'auteur toy | 2015-08-05
Vous devez vous connecter pour publier un commentaire.
lazySizes est simplement de travailler bien. Vous avez besoin de modifier votre balisage en quelque chose comme cela, cependant.
Note
srcset
est changé àdata-srcset
etdata-lazy
est changé àdata-src
. En outre, vous devez ajouter la classe lazyload.Votre
sizes
attribut n'a pas fait beaucoup de sens. Peut-être que vous souhaitez utiliser x descripteurs de la place? Ou tout simplement utilisersizes="200px"
? Je ne sais pas. J'ai simplement mis àdata-sizes="auto"
, de sorte qu'il devient automatiquement calculé pour vous. (Mais dans ce cas, la dimension de l'image doit être calculable avant que l'image est chargée.)lazySizes en effet en charge les images avant ils sont en vue. C'est une grande amélioration de l'expérience utilisateur. Un utilisateur, qui défile quelque chose dans la vue n'a pas envie d'attendre alors. Un lazyloader qui commence le téléchargement d'une image après il est déjà en vue perturbe l'expérience de l'utilisateur.
Une bonne chose à propos de lazySizes est que ce paresseux chargeur vérifie si le navigateur est actuellement fortement de télécharger et décide de ce fait, s'il ne télécharge que de visionner des images ou aussi de précontrainte près de visualiser des images.
Mais si vous ne voulez pas cela, vous pouvez contrôler ce par la définition de la lazySizes'
expand
etexpFactor
options.OriginalL'auteur alexander farkas
Je recommande responsivelyLazy. La mise en œuvre est SEO-friendly et ne pas gâcher votre code HTML. Voici un extrait:
Comme vous pouvez le voir la valeur dans le
src
attribut n'est pas modifié.Lire plus à http://ivopetkov.com/b/lazy-load-responsive-images/
OriginalL'auteur Ivo Petkov