Native Lazy Loading

Avatar of Chris Coyier
Chris Coyier am

DigitalOcean bietet Cloud-Produkte für jede Phase Ihrer Reise. Starten Sie mit 200 $ kostenlosem Guthaben!

IntersectionObserver hat das Lazy Loading viel einfacher und effizienter gemacht als früher, aber um es wirklich richtig zu machen, muss man immer noch den src und so weiter entfernen, was umständlich ist. Es ist definitiv nicht so einfach wie

<img src="celebration.jpg" loading="lazy" alt="..." />

Addy Osmani sagt, es kommt in Chrome 75

Das loading-Attribut ermöglicht es einem Browser, Bilder und iframes, die sich außerhalb des sichtbaren Bereichs befinden, erst dann zu laden, wenn der Nutzer zu ihnen scrollt. loading unterstützt drei Werte

  • lazy: ist ein guter Kandidat für Lazy Loading.
  • eager: ist kein guter Kandidat für Lazy Loading. Sofort laden.
  • auto: der Browser entscheidet, ob er lazy laden soll oder nicht.

Ich werde wahrscheinlich einen WordPress-Content-Filter für diese Website schreiben, der dieses Attribut für jedes verdammte Bild auf dieser Website hinzufügt. Halleluja, sage ich, und mögen andere Browser schnell folgen.

Einfaches Lazy Loading von Bildern wird die größte Auswirkung auf die Website als Ganzes haben, aber lazy geladene Iframes werden für die einzelnen Websites, die sie verwenden, noch größer sein. Ich bin dabei.

Ich hoffe, das wird den Bedarf an nativen Seitenverhältnissen ebenfalls vorantreiben, da ein Hauptgrund dafür die Verhinderung von Content-Reflows durch später ladende Elemente ist. Wir haben inzwischen zwar Möglichkeiten.

Wenn Sie Ihrer Website jetzt Medien mit Lazy Loading hinzufügen möchten, wären Sie schlau, diese nativen Lazy Loading-Attribute einzuschließen, aber zum Zeitpunkt dieses Updates (Juli 2019) ist die Unterstützung in stabilen Browsern noch nicht existent. Sie werden mehr tun wollen

Diese Browser-Supportdaten stammen von Caniuse, das mehr Details enthält. Eine Zahl bedeutet, dass der Browser die Funktion ab dieser Version unterstützt.

Desktop

ChromeFirefoxIEEdgeSafari
77121Nein7916.4

Mobil / Tablet

Android ChromeAndroid FirefoxAndroidiOS Safari
12712712716.4