Googles "Accelerated Mobile Pages" (AMP) -Projekt hat in letzter Zeit dazu beigetragen, dass Websites schneller werden. Mit guter Technik und einem leistungsstarken Netzwerk zur Verteilung von Inhalten hat Google AMP-optimierte Websites direkt schneller gemacht. AMP hat jedoch auch indirekt gearbeitet, indem es uns ermutigt hat, die Optimierungen und Best Practices von AMP zu betrachten. Auch wenn Sie Ihre Website nicht AMP-konform machen möchten, ist es nützlich, AMP als ToDo-Liste für die Optimierung einer nicht AMP-Website zu verstehen.
Eine der Optimierungen auf dieser Liste ist eine Technik namens "Lazy Loading", die wir in unserem kürzlich erschienenen Artikel über die Verwendung von AMPs in Aktion gesehen haben
Durch Lazy Loading kann ein Besucher schneller mit Inhalten in Kontakt treten, und die höhere Ladegeschwindigkeit kann die Platzierung Ihrer Suchmaschine verbessern. Je mehr Bilder Sie auf einer Seite haben, desto schneller können Sie Verbesserungen erzielen.
In diesem Lernprogramm wird beschrieben, wie Sie Lazy Load auf Websites von Drittanbietern mithilfe eines Skripts mit dem Namen Layzr.js bereitstellen können. Wir werden die Funktionalität von AMPs replizieren
Element so genau wie möglich, aber wir werden auch mit einigen der für Layzr spezifischen Funktionen arbeiten.
Lass uns anfangen!
Als Teil des Artikels "AMP-Projekt: Werden Ihre Websites schneller?" Ich habe ein Grundlayout mit fünf Bildern erstellt. Damit Sie Vergleiche zwischen der Verwendung von AMP und dem Bereitstellen des verzögerten Ladevorgangs selbst erstellen können, erstellen wir dasselbe Layout für fünf Bilder. Ich werde Ihnen später in diesem Tutorial zeigen, wie verschiedene Lastgeschwindigkeitstests ausgeführt werden.
In den an dieses Tutorial angehängten Quelldateien finden Sie die AMP-Version des Layouts und die vollständige Version dessen, was Sie hier machen. Beide sind enthalten, um zu entscheiden, welcher Ansatz am besten zu Ihnen passt.
Wenn wir alles durchgehen, empfehle ich, Ihre Arbeit mit den Chrome Developer Tools zu testen (F12) mit dem Netzwerk Registerkarte geöffnet, Cache deaktivieren überprüft und Throttling auf gesetzt Normales 3G. Dies simuliert eine durchschnittliche mobile Verbindung, zeigt Ihnen in Echtzeit ein Diagramm über das Laden jedes Bildes und hilft Ihnen, einen klaren Überblick über die Funktionsweise Ihres Lazy Loading zu erhalten.
Wenn Sie die Seite zum Testen aktualisieren, halten Sie die Taste gedrückt neu laden Schaltfläche, wodurch ein Dropdown mit verschiedenen Optionen angezeigt wird. Wählen Leerer Cache und Hard Reload So simulieren Sie einen Besucher, der das erste Mal auf Ihrer Website ankommt.
Beginnen wir damit, die Grundlagen herunterzuschrauben. Erstellen Sie zunächst einen Ordner, in dem sich Ihr Projekt befindet, und erstellen Sie eine Datei mit dem Namen index.html.
Öffnen Sie es zur Bearbeitung und fügen Sie den folgenden Code hinzu:
Layzr.js Lazy Loading Willkommen im faul geladenen Web
Mit dem obigen Code erhalten wir lediglich eine HTML-Shell und ein wenig CSS, um die Seite zu sichern Karosserie
und Bilder haben keine unerwarteten Lücken um sie herum.
Wir sind auch dabei Marge: 0 auto;
Die später hinzugefügten Bilder werden zentriert.
Das layzr.js-Skript verfügt über zwei praktische CDN-Quellen, aus denen Sie laden können. Wir verwenden eine von Cloudfare.
Fügen Sie diesen Code vor dem Schließen Ihrer HTML-Datei hinzu
Etikett.
Wenn Sie es vorziehen, das Skript nicht von einem CDN zu laden, können Sie es stattdessen herunterladen und den kurzen Anweisungen folgen: https://github.com/callmecavs/layzr.js#download
Nun, da wir Layzr geladen haben, müssen wir es ausführen, wenn die Seite geladen wird. Fügen Sie dazu diesen Code nach dem hinzu Skript
Tags, die Sie gerade in den vorherigen Abschnitt eingefügt haben:
Dieser Code erstellt zunächst eine Instanz, die Layzr enthält, und sobald der DOM-Inhalt der Seite geladen wurde, verwendet er diese Instanz, um die Funktionalität von Layzr zu aktivieren.
Ihr bisheriger Code sollte jetzt so aussehen:
Layzr.js Lazy Loading Willkommen im faul geladenen Web