Inhaltsverzeichnis
So laden Sie JavaScript verzögert
Erklärung
Ein Skript, das eine externe JavaScript-Datei aufruft
Detaillierte Anweisungen
Wofür können Sie sie verwenden (bzw Was nicht möglich ist)
Warum nicht auch anders?
Warum ist das wichtig?
Verwendungsbeispiel
Beispieldatei testen
Kernpunkt
Tool
Ergänzende Erweiterungen
1. Aufschieben und asynchron
2. Below the Fold
Heim Web-Frontend js-Tutorial Verzögertes Laden von JavaScript

Verzögertes Laden von JavaScript

Jan 24, 2017 pm 04:03 PM

So laden Sie JavaScript verzögert

Echtes verzögertes Laden von JavaScript bedeutet: Laden oder Parsen von JavaScript erst, nachdem der Seiteninhalt vollständig geladen wurde (das bedeutet, dass JavaScript keinen Einfluss auf die Geschwindigkeit oder Kritikalität der Seite haben kann). Weg).

  • Verwenden Sie das „onload“-Ereignis, um externe JavaScript-Ressourcen aufzurufen

  • Externe JavaScript-Ressourcen können nicht geladen werden, bevor der Seiteninhalt geladen ist

  • Externe JavaScript-Ressourcen werden ausgeführt und wirken sich auf die Seite aus, nachdem der Inhalt geladen wurde

Erklärung

Im Internet stehen oft Menschen im Mittelpunkt Bei der Suche nach verschiedenen Lösungen ist JavaScript Lazy Loading einer der Schwerpunkte.

Viele Leute sagen „verwenden Sie einfach die Verzögerung“, „verwenden Sie einfach asynchron“ oder „setzen Sie Ihr JavaScript einfach unten auf der Seite“, aber diese Probleme werden nicht gelöst. Problem – Lassen Sie die Seite vollständig laden und dann ( erst nach vollständigem Laden) das externe JS laden. Mit diesen Methoden können Sie auch die vom Google Page Speed ​​​​Tool erhaltene Warnung „JavaScript verzögert laden“ nicht passieren (der Übersetzer hat diesbezüglich einige Zweifel, da ich beim Testen festgestellt habe, dass die oben genannten drei Methoden diese Warnung entfernen können).

Diese Lösung wird antworten.

Ein Skript, das eine externe JavaScript-Datei aufruft

Dieser Code wird vor dem </body>-Tag des HTML-Dokuments platziert (am unteren Rand des HTML-Dokuments). Der Name des externen Skripts ist defer.js.

<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 macht dieses Skript?

Dieser Code besagt, dass man warten soll, bis das Dokument vollständig geladen ist, und dann die externe Datei „defer.js“ laden soll.

Detaillierte Anweisungen

  • 1. Kopieren Sie den obigen Code

  • 2. Fügen Sie den Code in Ihr HTML-Dokument ein </body> Tag

  • 3. Ändern Sie defer.js in den Namen Ihrer externen Datei

  • 4 ist richtig. Beispiel: Wenn Sie „defer.js“ verwenden, muss sich die Datei „defer.js“ im selben Ordner wie Ihre HTML-Datei befinden

Wofür können Sie sie verwenden (bzw Was nicht möglich ist)

Dieser Code lädt keine externen Linkdateien, bis Ihre Seite vollständig geladen ist. Sie sollten Ihr JavaScript in zwei Gruppen aufteilen, eine für das, was die Seite laden muss, und eine andere für Dinge, die nach dem Laden der Seite erledigt werden (z. B. nach Klickereignissen suchen oder andere Dinge). Jedes JavaScript, das warten kann, bis die Seite geladen wird, sollte aus einer externen Datei aufgerufen werden.

Beispielsweise habe ich auf dieser Seite das obige Skript verwendet, um Google-Statistiken, Viglink und den Google Plus-Avatar unten verzögert zu laden. Ich habe keinen Grund, diese Dateien am Anfang der Seite zu laden, da diese Dateien nichts mit dem oben erwähnten Inhalt zu tun haben und nicht geladen werden müssen. Vielleicht hätten Sie das Gleiche auf Ihrer Seite. Würden Sie den Benutzer warten lassen, bis diese Ressourcen geladen sind, bevor Sie ihm Ihren Benutzerinhalt zeigen?

Warum nicht auch anders?

Inlining, das Platzieren des Skripts unten, die Verwendung von defer oder async sind alles Methoden, die das Ziel, zuerst die Seite und dann das JS zu laden, nicht erreichen, und diese Methoden sind in der Tat nicht universell und funktionsübergreifend.

Warum ist das wichtig?

Das liegt daran, dass Google die Seitenladegeschwindigkeit als Ranking-Faktor nutzt und dass Nutzer möchten, dass Seiten schneller geladen werden. Das eignet sich auch hervorragend für Ihr Mobile SEO. Google misst Ihre Seitenladegeschwindigkeit vom Zeitpunkt des Aufrufs bis zum erstmaligen Laden der Seite. Das bedeutet auch, dass Sie das load-Ereignis der Seite so schnell wie möglich vervollständigen müssen. Google bewertet Ihre Seite anhand der Ladezeit der Startseite (und vergessen Sie nicht, dass Nutzer darauf warten, dass die Seite geladen wird).

Aktive Werbung und Empfehlung von GooglePriorisierung von „above thefold“-Inhalten (Bildschirminhalte haben Vorrang). Es lohnt sich also, alle Off-Screen-Ressourcen (JS, CSS, Bilder usw.) aus dem Haupt-Rendering-Pfad fernzuhalten. Wenn es Ihre Nutzer und Google glücklich macht, warum nicht?

Verwendungsbeispiel

Ich habe eine Seite erstellt, klicken Sie hier, Sie werden sehen, dass ich das obige Code-Snippet verwendet habe.

Beispieldatei testen

Nun, nur zur Veranschaulichung habe ich einige Testseiten für Sie zum Testen geschrieben. Jede Seite macht das Gleiche. Eine reine HTML-Seite verwendet ein Skript. Der Inhalt des Skripts besteht darin, zwei Sekunden lang auf die Ausgabe von „Hallo Welt“ zu warten. Sie können diese Seiten testen und feststellen, dass es nur eine Möglichkeit gibt, den Inhalt sofort anzuzeigen (in der Ladezeit der Seite sind die zwei Sekunden Wartezeit nicht enthalten).

Kernpunkt

Der kritischste Punkt ist, den Inhalt dem Nutzer so schnell wie möglich zu präsentieren. Wir haben dies bei der Art und Weise, wie wir unser Javascript behandelt haben, nicht getan. Benutzer müssen ihren Inhalt sehen, da einige Skripte Dinge unterhalb des visuellen Inhalts tun. Ganz gleich, wie cool Ihr Seitenende ist: Wenn der Benutzer nie zum Ende der Seite scrollt, gibt es für Sie keinen Grund, das Skript zu laden, um das Ende der Seite cool zu machen.

Tool

Verwenden Sie das Javascript-Nutzungstool, um zu testen, wie JavaScript auf Ihren Seiten verwendet wird.


Ergänzende Erweiterungen

1. Aufschieben und asynchron

Beide Attribute können für Seitenoptimierungszwecke verwendet werden, aber was ist der Unterschied? Ein Bild kann antworten:

2. Below the Fold

Gemäß der Definition in wordstream:

Below the fold bedeutet, dass nur gescrollt wird im nur sichtbaren Bereich der Webseite.

Above the Fold bezieht sich auf den Inhaltsbereich, der sichtbar ist, ohne dass die Seite gescrollt werden muss.

Im Allgemeinen erhalten Inhalte, die ohne Scrollen auf dem Bildschirm angezeigt werden, mehr Aufmerksamkeit, während Inhalte, für deren Sichtbarkeit ein Scrollen erforderlich ist, weniger Aufmerksamkeit erhalten. foldDie Aufrufe kommen aus der Nachrichtenverlagsbranche.

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)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen 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.

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

Einfaches JavaScript-Tutorial: So erhalten Sie den HTTP-Statuscode Einfaches JavaScript-Tutorial: So erhalten Sie den HTTP-Statuscode Jan 05, 2024 pm 06:08 PM

JavaScript-Tutorial: So erhalten Sie HTTP-Statuscode. Es sind spezifische Codebeispiele erforderlich. Vorwort: Bei der Webentwicklung ist häufig die Dateninteraktion mit dem Server erforderlich. Bei der Kommunikation mit dem Server müssen wir häufig den zurückgegebenen HTTP-Statuscode abrufen, um festzustellen, ob der Vorgang erfolgreich ist, und die entsprechende Verarbeitung basierend auf verschiedenen Statuscodes durchführen. In diesem Artikel erfahren Sie, wie Sie mit JavaScript HTTP-Statuscodes abrufen und einige praktische Codebeispiele bereitstellen. Verwenden von XMLHttpRequest

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

See all articles