Natives Lazy-Loading (loading=lazy) funktioniert nicht, selbst wenn Flags aktiviert sind

Lesezeit: 6 Minuten

Benutzeravatar von André Ramon
Andre Ramón

Ich versuche derzeit, meine Website mit dem neuen Attribut loading=”lazy” zu aktualisieren, wie hier gezeigt: https://web.dev/native-lazy-loading

Wie im Video zu sehen, funktioniert alles wie erwartet, aber im Vergleich zu meinem Wasserfalldiagramm in Chrom nicht.

Wie es aussieht:
Chrome-Entwicklertools

So soll es aussehen:

Chrome-Entwicklertools

So wird es umgesetzt:

<img class="has-border" src="https://andreramoncombucket.s3.amazonaws.com/static/assets/img/work/personal-website/pw_full.jpg" style="object-fit: cover;" alt="..." loading="lazy">

  • Hast du das gelöst?

    – Verschiedene Benutzer

    1. Januar 2020 um 13:41 Uhr

  • Scheinbar nicht ..

    – Andre Ramon

    2. Januar 2020 um 12:49 Uhr

  • Ich erlebe das gleiche Problem.

    – tylersDisplayName

    27. Januar 2020 um 21:06 Uhr

  • Ich erlebe dasselbe. Seltsamerweise funktioniert Lazy Loading wie erwartet, wenn ich mein Stylesheet vollständig entferne. Ich bin gespannt, ob Sie vielleicht das gleiche Verhalten sehen. BEARBEITEN: Es stellte sich heraus, dass meine Seite nicht lang genug war, um Bilder zu verschieben. Ich habe es auf dem Handy versucht, und es hat wie erwartet funktioniert.

    – Jonathan Völker

    1. Mai 2020 um 15:33 Uhr


Ich hatte ein ähnliches Problem, als ich versuchte, es zu implementieren.

Ich verwende Chrome standardmäßig und es hat nicht funktioniert. Als ich es in Firefox getestet habe, hat es funktioniert. Das ließ mich denken, dass es ein Browserproblem war.

Nachdem ich ein bisschen mehr gegraben hatte, fand ich das “Problem” für meinen Fall heraus. Wahrscheinlich geht es vielen anderen genauso.

Es stellt sich heraus Chrome ist ungeduldiger als Firefox beim Laden von als faul gekennzeichneten Bildern. Das bedeutet, dass die Bilder viel früher geladen werden, sodass ein Bild nicht geladen wird, wenn es auf dem Bildschirm erscheint, sondern früher. Firefox hingegen lädt die Bilder fast dann, wenn sie auf dem Bildschirm angezeigt werden sollen.

Die Bilder, die ich getestet habe, befanden sich unterhalb der Falte, aber die Seite war nicht sehr lang, also lud Chrome die Bilder trotzdem.

Als ich es in einem viel längeren Artikel ausprobierte, wurden die Bilder, die sich tief im Artikel befanden, auch in Chrome träge geladen.

Hoffe das hilft!

  • Aus meinen Experimenten geht hervor, dass 3200 Pixel ungefähr das sind, was Chrome für Lazy-Loading-Zwecke als “unter der Falte” betrachtet.

    – Matt Korostoff

    12. Juni 2020 um 1:41 Uhr

  • Zweitens sieht es jedoch so aus, als wäre es etwas komplizierter als nur ein fester Pixelabstand web.dev/native-lazy-loading/#load-in-distance-threshold

    – Matt Korostoff

    12. Juni 2020 um 1:43 Uhr

  • Ich habe es getestet und diese Antwort ist wahr, das Bild weit unter dem Bildschirmansichtsfenster wird geladen, das Detail des Pixelschwellenwerts wird in diesem Link beschrieben: web.dev/browser-level-image-lazy-loading Chrome ändert auch den Schwellenwert in Abhängigkeit von der vom Verbindungsclient verwendeten Verbindung

    – Rickvian

    22. Oktober 2020 um 7:37 Uhr


  • Außerdem können Sie den Schwellenwert für die Pixelanzeige scheinbar nicht ändern … web.dev/browser-level-image-lazy-loading/…

    – daCoda

    10. Februar um 2:20 Uhr

Ich hatte ein ähnliches Problem und nach einiger Recherche fand ich die Lösung:

Sie müssen nur Breite und Höhe hinzufügen IMG -Tag, weil der Browser die Größe des Elements kennen muss, bevor er verzögertes Laden anwendet.

Dein Code:

<img class="has-border" src="..." style="object-fit: cover;" alt="..." loading="lazy">

Ihr Code nach dem Hinzufügen von Breite und Höhe:

<img class="has-border" src="..." style="object-fit: cover;" alt="..." loading="lazy" width="200px" height="200px">

Eine andere Alternative ist die Verwendung des Inline-Stils:

<img class="has-border" src="..." style="object-fit:cover; height:200px; width:200px;" alt="..." loading="lazy">

Berücksichtigen Sie, dass ich die Abmessungen einfach zufällig festgelegt habe IMG Tag auf 200px. Hier finden Sie weitere Informationen dazu web.dev-Artikel

hoffe es hilft 👍

Ich habe den schlimmsten Grund, warum es nicht funktioniert hat – ich habe vergessen, das hinzuzufügen width Und height Attribute (sie wurden stattdessen als hinzugefügt styles in meinem defekten Code)

  • Dies kann ein Grund sein, da Chrome die genauen Abmessungen des Bildes kennen muss, um Sprünge beim Laden der Bilder zu vermeiden

    – Andre Ramon

    16. September 2020 um 22:52 Uhr

Benutzeravatar von Evans Mboya
Evans Mboya

Optional, wenn Sie Ihre Bildgröße nicht ändern möchten, verwenden Sie dies

Ursprünglicher Code

<img class="has-border" src="..." style="object-fit: cover;" alt="..." loading="lazy">

Mit funktionierendem Lazy Load ohne Größenbeschränkung

<img class="has-border" src="..." style="object-fit: cover;" alt="..." loading="lazy" width="auto" height="100%">

Benutzeravatar von Nibelur
Nibelur

Ich habe mich beworben loading="lazy" zu allen meinen Bildern, eingeschlossen width="111px" height="111px" Attribute für meine <img> Tags und konvertierte sie sogar in das WebP-Format, um die Größe zu reduzieren, aber mein Firefox-Browser lädt immer noch alle Bilder von der gesamten Seite. Ich berühre oder scrolle nach der Aktualisierung nicht. Der Indikator Dev Tools sagt, dass es – faul-img.

ich benutze Nodejs, vue und Rückenwind.

Was könnte falsch sein?

  • Wenn Sie eine neue Frage haben, stellen Sie diese bitte, indem Sie auf die Schaltfläche „Frage stellen“ klicken. Fügen Sie einen Link zu dieser Frage hinzu, wenn dies hilfreich ist, um den Kontext bereitzustellen. – Aus Bewertung

    – ahuemmer

    26. Dezember 2022 um 20:00 Uhr

  • es ist keine neue Frage. Ich habe das gleiche Problem wie im ursprünglichen Beitrag. Ich sehe keinen Grund, nur dafür einen neuen Beitrag zu erstellen, da Thema und Problem identisch sind

    – Nibelur

    27. Dezember 2022 um 14:04 Uhr


  • Das ist mit diesem (automatisierten) Kommentar gemeint. Wenn Sie das gleiche Problem haben, wäre eine neue Frage nicht sinnvoll, wie Sie sagten. Wenn Ihr Problem etwas anders ist, könnte es hilfreich sein, eine neue Frage zu stellen und vielleicht auf diese zu verweisen. Entscheidend ist, dass die “Antwort”-Funktion nur für eindeutige Antworten auf die ursprüngliche Frage gedacht ist.

    – ahuemmer

    27. Dezember 2022 um 16:45 Uhr

Benutzeravatar von Zied Hf
Zied Hf

Es könnte daran liegen Zwischenspeicher.

Wenn Sie hier sehen faul-img auf der Registerkarte Netzwerk bedeutet das, dass alles in Ordnung ist.

Sie können in einem privaten Fenster testen, wenn Sie es nur überprüfen möchten.

Geben Sie hier die Bildbeschreibung ein

  • Wenn Sie eine neue Frage haben, stellen Sie diese bitte, indem Sie auf die Schaltfläche „Frage stellen“ klicken. Fügen Sie einen Link zu dieser Frage hinzu, wenn dies hilfreich ist, um den Kontext bereitzustellen. – Aus Bewertung

    – ahuemmer

    26. Dezember 2022 um 20:00 Uhr

  • es ist keine neue Frage. Ich habe das gleiche Problem wie im ursprünglichen Beitrag. Ich sehe keinen Grund, nur dafür einen neuen Beitrag zu erstellen, da Thema und Problem identisch sind

    – Nibelur

    27. Dezember 2022 um 14:04 Uhr


  • Das ist mit diesem (automatisierten) Kommentar gemeint. Wenn Sie das gleiche Problem haben, wäre eine neue Frage nicht sinnvoll, wie Sie sagten. Wenn Ihr Problem etwas anders ist, könnte es hilfreich sein, eine neue Frage zu stellen und vielleicht auf diese zu verweisen. Entscheidend ist, dass die “Antwort”-Funktion nur für eindeutige Antworten auf die ursprüngliche Frage gedacht ist.

    – ahuemmer

    27. Dezember 2022 um 16:45 Uhr

Benutzeravatar von Максим Агарев
Максим Агарев

Das Bild sollte im Stil “relativ” positioniert werden.

  • Bitte geben Sie in Ihrer Antwort weitere Details an. Wie es derzeit geschrieben ist, ist es schwer, Ihre Lösung zu verstehen.

    – Gemeinschaft
    bot

    2. September 2021 um 15:30 Uhr

1445690cookie-checkNatives Lazy-Loading (loading=lazy) funktioniert nicht, selbst wenn Flags aktiviert sind

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy