Heim Web-Frontend js-Tutorial Informationen zum verzögerten Laden von JavaScript_Javascript-Tipps

Informationen zum verzögerten Laden von JavaScript_Javascript-Tipps

May 16, 2016 pm 04:01 PM
javascript 延迟加载

JavaScript Lazy Loading ist eines dieser Probleme im Web, die Sie bei der Suche nach einer Lösung in den Wahnsinn treiben können.

Viele Leute sagen „dann verwenden Sie defer“ oder „async“, und einige sagen sogar „dann fügen Sie Ihren Javascript-Code am Ende des Seitencodes ein“.

Keine der oben genannten Methoden kann das Problem des Ladens externer JS nach dem vollständigen Laden der Webseite lösen. Die oben beschriebene Methode führt gelegentlich auch dazu, dass Sie vom Google-Tool zum Testen der Seitengeschwindigkeit Warnungen erhalten, dass Javascript verzögert geladen wird. Die Lösung hier ist also die empfohlene Lösung auf der Google-Hilfeseite.

So laden Sie JavaScript verzögert

Das Folgende ist der von Google empfohlene Code. Dieser Code sollte vor dem -Tag platziert werden (am Ende der HTML-Datei). Außerdem habe ich den Namen der externen JS-Datei hervorgehoben.

<script type="text/javascript">
function downloadJSAtOnload() {
var element = document.createElement("script");
element.src = "defer.js";
document.body.appendChild(element);
}
if (window.addEventListener)
window.addEventListener("load", downloadJSAtOnload, false);
else if (window.attachEvent)
window.attachEvent("onload", downloadJSAtOnload);
else window.onload = downloadJSAtOnload;
</script>
Nach dem Login kopieren

Was wird hier gemacht?
Dieser Code bedeutet, dass mit dem Laden der externen Datei „defer.js“ gewartet wird, bis das gesamte Dokument geladen ist.

Spezifische Anweisungen

1. Kopieren Sie den obigen Code

2. Fügen Sie den Code vor dem -Tag ein (am Ende der HTML-Datei)

3. Ändern Sie „defer.js“ in Ihren externen JS-Dateinamen

4. Stellen Sie sicher, dass Ihr Dateipfad korrekt ist. Beispiel: Wenn Sie nur „defer.js“ eingeben, muss sich die Datei „defer.js“ im selben Ordner wie die HTML-Datei befinden.

Wo kann dieser Code verwendet werden (und wo nicht)

Dieser Code lädt die angegebene externe JS-Datei erst, wenn das Dokument geladen ist. Daher sollte hier kein JavaScript-Code platziert werden, der vom normalen Laden der Seite abhängt. Stattdessen sollte JavaScript-Code in zwei Gruppen unterteilt werden. Eine Gruppe ist der Javascript-Code, der sofort geladen wird, weil die Seite ihn benötigt, und die andere Gruppe ist der Javascript-Code, der nach dem Laden der Seite ausgeführt wird (z. B. das Hinzufügen eines Klickereignisses oder andere Dinge). Der JavaScript-Code, der warten muss, bis die Seite geladen ist, bevor er ausgeführt wird, sollte in einer externen Datei abgelegt und dann importiert werden.

Beispielsweise verwende ich auf dieser Seite die oben genannten Dateien zum Lazy Loading – Google Analytics, Viglink (wie ich Geld verdiene) und das Google-Logo, das unten angezeigt wird (meine sozialen Medien). Für mich gibt es keinen Grund, diese Dateien beim ersten Laden der Seite zu laden, da es nicht erforderlich ist, die oben genannten irrelevanten Inhalte in der Anfangsphase zu laden. Möglicherweise haben Sie eine Datei der gleichen Art auf Ihrer Seite. Möchten Sie dann, dass Benutzer auf das Laden dieser Dateien warten, bevor sie den Inhalt der Webseite sehen?

Warum nicht andere Methoden nutzen?

Durch das direkte Einfügen von Code, das Platzieren von Skripten unten und die Verwendung von „defer“ oder „async“ kann der Zweck, zuerst die Seite und dann das JS zu laden, nicht erreicht werden, und sie werden sicherlich nicht in allen Browsern konsistent funktionieren.

Warum ist es wichtig?

Seine Bedeutung liegt darin begründet, dass Google die Seitengeschwindigkeit als einen der Ranking-Faktoren nutzt und Nutzer auch möchten, dass Seiten schnell geladen werden. Es ist auch für die mobile Suchmaschinenoptimierung sehr wichtig. Google misst die Seitengeschwindigkeit anhand der Zeit, die zum ersten Laden der Seite benötigt wird. Das bedeutet, dass Sie das Ladeereignis der Seite so schnell wie möglich erhalten müssen. Anhand der anfänglichen Seitenladezeit bewertet Google die Qualität Ihrer Webseiten (und vergessen Sie nicht, dass Nutzer darauf warten, dass die Seite geladen wird). Google fördert und empfiehlt aktiv, die oben genannten irrelevanten Inhalte nach Wichtigkeit zu ordnen und alle Ressourcen (JS, CSS, Bilder usw.) aus dem kritischen Rendering-Pfad herauszuhalten, und die Mühe lohnt sich. Wenn es den Nutzern gefällt und Google glücklich macht, sollten Sie es tun.

Anwendungsbeispiel

Ich habe eine Seite erstellt, auf der Sie diesen Code in Verwendung sehen können.

Beispieldateien zum Testen

Okay, zur Veranschaulichung habe ich ein paar Beispielseiten für Sie zum Testen erstellt. Jede Seite macht das Gleiche. Dies ist eine gewöhnliche HTML-Seite, die ein Javascript-Skript enthält, das 2 Sekunden wartet und dann „Hallo Welt“ ausgibt. Sie können diese Dateien testen und werden feststellen, dass es nur eine Methode gibt und deren Ladezeit die Wartezeit von 2 Sekunden nicht berücksichtigt.

Seite zum direkten Einfügen des Skripts – Hier klicken

Seiten mit externen Skripten, die „defer“ verwenden – Klicken Sie hier
Seiten, die den oben genannten Empfehlungscode verwenden – Klicken Sie hier

Wichtige Punkte

Die oberste Priorität sollte darin bestehen, den Benutzern Inhalte so schnell wie möglich bereitzustellen. Und wir haben nie darüber nachgedacht, wie wir mit unserem Javascript-Code umgehen sollen. Aber Benutzer sollten nicht gezwungen werden, auf den Inhalt eines unbedeutenden Skripts zu warten. Egal wie cool Ihre Fußzeile ist, es gibt keinen Grund für einen Benutzer, der vielleicht nie zur Fußzeile scrollt, die JavaScript-Dateien zu laden, die sie cool machen.

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er gefällt Ihnen allen.

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Was ist die Architektur und das Arbeitsprinzip von Spring Data JPA? Was ist die Architektur und das Arbeitsprinzip von Spring Data JPA? Apr 17, 2024 pm 02:48 PM

SpringDataJPA basiert auf der JPA-Architektur und interagiert mit der Datenbank über Mapping, ORM und Transaktionsmanagement. Sein Repository bietet CRUD-Operationen und abgeleitete Abfragen vereinfachen den Datenbankzugriff. Darüber hinaus nutzt es Lazy Loading, um Daten nur bei Bedarf abzurufen und so die Leistung zu verbessern.

Was ist die ursprüngliche Bedeutung von dynamischer Verknüpfung und statischer Verknüpfung unter Linux? Was ist die ursprüngliche Bedeutung von dynamischer Verknüpfung und statischer Verknüpfung unter Linux? Feb 05, 2024 pm 05:45 PM

Stellen wir wie immer ein paar Fragen: Warum dynamische Verlinkung? Wie führt man eine dynamische Verknüpfung durch? Was ist adressunabhängige Code-Technologie? Was ist die verzögerte Bindungstechnologie? Wie führt man eine explizite Verknüpfung durch, während das Programm ausgeführt wird? Warum dynamische Verlinkung? Das Aufkommen der dynamischen Verknüpfung besteht darin, einige Mängel der statischen Verknüpfung zu beheben: Speicher- und Festplattenspeicher sparen: Wie in der folgenden Abbildung gezeigt, enthalten Programm1 und Programm2 zwei Module, Program1.o bzw. Program2.o, und beide erfordern die Lib. o Modul. Bei der statischen Verknüpfung verwenden beide Zieldateien das Lib.o-Modul, sodass sie über Kopien in den durch die Verknüpfung ausgegebenen ausführbaren Dateien Programm1 und Programm2 verfügen und gleichzeitig ausgeführt werden.

Tipps zur Leistungsoptimierung von Java JPA: Bringen Sie Ihre Anwendung zum Erfolg Tipps zur Leistungsoptimierung von Java JPA: Bringen Sie Ihre Anwendung zum Erfolg Feb 19, 2024 pm 09:03 PM

Artikelschlüsselwörter: JavaJPA-Leistungsoptimierung ORM-Entitätsverwaltung JavaJPA (JavaPersistance API) ist ein objektrelationales Mapping (ORM)-Framework, mit dem Sie Java-Objekte zum Bearbeiten von Daten in der Datenbank verwenden können. JPA bietet eine einheitliche API für die Interaktion mit Datenbanken, sodass Sie denselben Code für den Zugriff auf verschiedene Datenbanken verwenden können. Darüber hinaus unterstützt JPA auch Funktionen wie Lazy Loading, Caching und Dirty Data Detection, die die Anwendungsleistung verbessern können. Bei falscher Verwendung kann die JPA-Leistung jedoch zu einem Engpass für Ihre Anwendung werden. Im Folgenden sind einige häufige Leistungsprobleme aufgeführt: N+1-Abfrageproblem: Wenn Sie JPQL-Abfragen in Ihrer Anwendung verwenden, können N+1-Abfrageprobleme auftreten. In dieser Art

Was tun, wenn das HTML-Bild zu groß ist? Was tun, wenn das HTML-Bild zu groß ist? Apr 05, 2024 pm 12:24 PM

Hier sind einige Möglichkeiten, zu große HTML-Bilder zu optimieren: Bilddateigröße optimieren: Verwenden Sie ein Komprimierungstool oder eine Bildbearbeitungssoftware. Verwenden Sie Medienabfragen: Ändern Sie die Größe von Bildern je nach Gerät dynamisch. Implementieren Sie Lazy Loading: Laden Sie das Bild nur, wenn es in den sichtbaren Bereich gelangt. Verwenden Sie ein CDN: Verteilen Sie Bilder an mehrere Server. Bildplatzhalter verwenden: Zeigt ein Platzhalterbild an, während das Bild geladen wird. Miniaturansichten verwenden: Zeigt eine kleinere Version des Bildes an und lädt das Bild in voller Größe beim Klicken.

Entschlüsselung von Laravel-Leistungsengpässen: Optimierungstechniken vollständig enthüllt! Entschlüsselung von Laravel-Leistungsengpässen: Optimierungstechniken vollständig enthüllt! Mar 06, 2024 pm 02:33 PM

Entschlüsselung von Laravel-Leistungsengpässen: Optimierungstechniken vollständig enthüllt! Als beliebtes PHP-Framework bietet Laravel Entwicklern umfangreiche Funktionen und ein komfortables Entwicklungserlebnis. Mit zunehmender Größe des Projekts und steigender Anzahl an Besuchen kann es jedoch zu Leistungsengpässen kommen. Dieser Artikel befasst sich mit den Techniken zur Leistungsoptimierung von Laravel, um Entwicklern dabei zu helfen, potenzielle Leistungsprobleme zu erkennen und zu lösen. 1. Optimierung der Datenbankabfrage mithilfe von Eloquent. Vermeiden Sie verzögertes Laden, wenn Sie Eloquent zum Abfragen der Datenbank verwenden

Wie optimiert Hibernate die Leistung von Datenbankabfragen? Wie optimiert Hibernate die Leistung von Datenbankabfragen? Apr 17, 2024 pm 03:00 PM

Zu den Tipps zur Optimierung der Hibernate-Abfrageleistung gehören: Verwenden von Lazy Loading, um das Laden von Sammlungen und zugehörigen Objekten zu verzögern; Verwenden von Stapelverarbeitungsvorgängen, um Aktualisierungs-, Lösch- oder Einfügevorgänge zu kombinieren, um häufig abgefragte Objekte im Speicher zu speichern; , Entitäten und ihre zugehörigen Entitäten abrufen; Abfrageparameter optimieren, um den SELECTN+1-Abfragemodus zu vermeiden; Verwendung von Indizes, um die Leistung bestimmter Abfragen zu verbessern;

So verhindern Sie ein Iframe-Ladeereignis So verhindern Sie ein Iframe-Ladeereignis Feb 19, 2024 am 08:02 AM

So verhindern Sie Iframe-Ladeereignisse. In der Webentwicklung verwenden wir häufig Iframe-Tags, um andere Webseiten oder Inhalte einzubetten. Wenn der Browser einen Iframe lädt, wird standardmäßig das Ladeereignis ausgelöst. In einigen Fällen möchten wir jedoch möglicherweise das Laden eines Iframes verzögern oder das Ladeereignis vollständig verhindern. In diesem Artikel werden wir anhand von Codebeispielen untersuchen, wie dies erreicht werden kann. 1. Laden des Iframes verzögern Wenn Sie das Laden des Iframes verzögern möchten, können wir Folgendes verwenden

Was sind die Nachteile des Hibernate ORM-Frameworks? Was sind die Nachteile des Hibernate ORM-Frameworks? Apr 18, 2024 am 08:30 AM

Das HibernateORM-Framework weist die folgenden Mängel auf: 1. Großer Speicherverbrauch, da es Abfrageergebnisse und Entitätsobjekte zwischenspeichert. 2. Hohe Komplexität, die ein umfassendes Verständnis der Architektur und Konfiguration erfordert. 3. Verzögerte Ladeverzögerungen, die zu unerwarteten Verzögerungen führen . Leistungsengpässe treten im Mai auf, wenn eine große Anzahl von Entitäten gleichzeitig geladen oder aktualisiert wird. 5. Herstellerspezifische Implementierung, was zu Unterschieden zwischen Datenbanken führt.

See all articles