


Eine kurze Analyse der asynchronen Loading_Javascript-Fähigkeiten von JavaScript
Vorwort
Ich glaube, Sie sind auf viele Probleme beim Laden von JavaScript-Skripten gestoßen. Hauptsächlich in ein paar Punkten——
1> Probleme beim Laden von Dateien, der Dateiabhängigkeit und der Ausführungsreihenfolge, die durch synchrone und asynchrone Skripte verursacht werden
2> Leistungsoptimierungsprobleme, die durch synchrone und asynchrone Skripte verursacht werden
Ein gründliches Verständnis aller Aspekte im Zusammenhang mit dem Laden von Skripten hilft nicht nur bei der Lösung praktischer Probleme, sondern hilft auch dabei, Leistungsoptimierungen zu erfassen und umzusetzen.
Schauen Sie sich zunächst einen beliebigen Skript-Tag-Code an——
Wenn es über dem

Unter anderem der Inhalt in test.js——
warning('Ich bin der Skriptcode im Kopf. Nach der Ausführung von js hier beginnt die Inhaltswiedergabe des Körpers!');
Wir werden sehen, dass die Warnung ein Pausenpunkt ist und die Seite zu diesem Zeitpunkt leer ist. Beachten Sie jedoch, dass zu diesem Zeitpunkt die gesamte Seite geladen wurde. Wenn der Text Tags mit bestimmten src-Attributen enthält (z. B. das img-Tag oben), hat der Browser bereits mit dem Laden verwandter Inhalte begonnen. Kurz gesagt, bitte beachten Sie, dass sich die Arbeitszeit der JS-Engine und der Rendering-Engine gegenseitig ausschließen (einige Bücher nennen es den UI-Thread).
Daher müssen die Skripte, die dafür verantwortlich sind, dass die Seite besser aussieht und einfacher zu verwenden ist, sofort geladen werden, während die Skripte, die später geladen werden können, später geladen werden sollten.
1. Verzögerte Ausführung des Skripts
Es wird immer beliebter, Skripte am Ende des
-Tags zu platzieren. Auf diese Weise können Benutzer einerseits die Seite schneller sehen und andererseits können Skripte direkt auf die geladenen DOM-Elemente einwirken. Für die meisten Skripte ist dieser „Umzug“ eine enorme Verbesserung. Das Seitenmodell ist wie folgt:—
Dies beschleunigt zwar die Renderzeit der Seite erheblich, aber beachten Sie, dass dies dem Benutzer möglicherweise die Möglichkeit gibt, mit der Seite zu interagieren, bevor das BodyScript geladen wird. Der Grund dafür ist, dass der Browser diese Skripte erst laden kann, wenn das gesamte Dokument geladen wurde, was bei großen Dokumenten, die über langsame Verbindungen gesendet werden, einen Engpass darstellen kann.
Idealerweise sollte das Laden des Skripts gleichzeitig mit dem Laden des Dokuments erfolgen und sich nicht auf die Darstellung des DOM auswirken. Auf diese Weise können Sie das Skript ausführen, sobald das Dokument fertig ist, da die Skripte bereits in der Reihenfolge der <script>-Tags geladen wurden. </p>
<p></p>
<p>Wir können defer verwenden, um diese Anforderung zu erfüllen, das heißt - </p>
<p><br>
</p>
<div class="codetitle">
<span><a style="CURSOR: pointer" data="92200" class="copybut" id="copybut92200" onclick="doCopy('code92200')"><u>Code kopieren</u></a></span> Der Code lautet wie folgt:</div>
<div class="codebody" id="code92200">
<br>
<script src="deferredScript.js"></script>
Das Hinzufügen des Defer-Attributs ist gleichbedeutend damit, dem Browser mitzuteilen: Bitte beginnen Sie jetzt mit dem Laden dieses Skripts, aber warten Sie bitte, bis das Dokument fertig ist und alle vorherigen Skripte mit dem Defer-Attribut ausgeführt wurden, bevor Sie es ausführen.
Auf diese Weise bietet die Platzierung des Verzögerungsskripts im Head-Tag alle Vorteile der Platzierung des Skripts im Body-Tag und erhöht außerdem die Ladegeschwindigkeit großer Dokumente erheblich. Der Seitenmodus ist derzeit——
Aber nicht alle Browser unterstützen die Verzögerung (bei einigen modernen Browsern führen ihre internen Skripte, wenn die Verzögerung deklariert ist, keine document.write- und DOM-Rendering-Vorgänge aus. IE4 unterstützt alle das Defer-Attribut). Das heißt, wenn Sie sicherstellen möchten, dass Ihr verzögertes Skript nach dem Laden des Dokuments ausgeführt werden kann, müssen Sie den gesamten verzögerten Skriptcode in einer Struktur wie $(document).ready von jQuery kapseln. Es lohnt sich, denn fast 97 % Ihrer Besucher profitieren von den Vorteilen des parallelen Ladens, während die anderen 3 % weiterhin Zugriff auf voll funktionsfähiges JavaScript haben.
2. Vollständige Parallelisierung von Skripten
Das Laden und Ausführen von Skripten einen Schritt beschleunigen. Ich möchte nicht darauf warten, dass Verzögerungsskripte nacheinander ausgeführt werden (Verzögerung erinnert uns an ein geordnetes Warteschlangenszenario, bei dem wir still und leise auf das Laden des Dokuments warten). Ich möchte warten, bis das Dokument fertig ist, bevor ich diese Skripte ausführe. Ich möchte so schnell wie möglich laden und diese Skripte so schnell wie möglich ausführen. Hier fällt mir das Async-Attribut von HTML5 ein, aber seien Sie sich bewusst, dass es sich um eine chaotische Anarchie handelt.
Zum Beispiel laden wir zwei völlig unabhängige Skripte von Drittanbietern, die Seite läuft auch ohne sie einwandfrei und es ist uns egal, welches zuerst und welches zuletzt ausgeführt wird. Daher ist die Verwendung des async-Attributs für diese Drittanbieter-Skripte gleichbedeutend mit einer Verbesserung ihrer Ausführungsgeschwindigkeit, ohne einen Cent auszugeben.
Das Async-Attribut ist neu in HTML5. Die Funktion ähnelt der Funktion „defer“, die das DOM-Rendering beim Herunterladen des Skripts ermöglicht. Es wird jedoch so schnell wie möglich nach dem Herunterladen ausgeführt (dh die JS-Engine wird ausgeführt, sobald sie inaktiv ist), und es gibt keine Garantie dafür, dass das Skript in der richtigen Reihenfolge ausgeführt wird. Sie werden vor dem Onload-Ereignis abgeschlossen.
Firefox 3.6, Opera 10.5, IE 9 und die neuesten Chrome- und Safari-Versionen unterstützen alle das Async-Attribut. Sie können async und defer gleichzeitig verwenden, sodass alle IE nach IE 4 asynchrones Laden unterstützen. Beachten Sie jedoch, dass async defer überschreibt.
Dann ist das Seitenmodell zu diesem Zeitpunkt wie folgt:—
Achten Sie hier auf die Reihenfolge der Ausführung – jede Skriptdatei wird geladen, dann wird headScript.js ausgeführt und dann wird defferedScript.js im Hintergrund geladen, während das DOM gerendert wird. Am Ende des DOM-Renderings werden dann defferedScript.js und die beiden asynchronen Skripte ausgeführt. Es ist zu beachten, dass diese beiden Skripte bei Browsern, die das Async-Attribut unterstützen, nicht in der richtigen Reihenfolge ausgeführt werden.
3. Programmierbares Laden von Skripten
Obwohl die Funktionen der beiden oben genannten Skriptattribute sehr attraktiv sind, werden sie aufgrund von Kompatibilitätsproblemen nicht häufig verwendet. Daher verwenden wir Skripte häufiger, um andere Skripte zu laden. Beispielsweise möchten wir ein Skript nur für diejenigen Benutzer laden, die bestimmte Bedingungen erfüllen, was oft als „Lazy Loading“ bezeichnet wird.
Auf der Browser-API-Ebene gibt es zwei sinnvolle Möglichkeiten, Serverskripte abzurufen und auszuführen –
1> Ajax-Anfrage generieren und Eval-Funktion verwenden, um die Antwort zu verarbeiten
2>

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Ajax-Anomalie aufgedeckt, der Umgang mit verschiedenen Fehlern erfordert spezifische Codebeispiele Im Jahr 2019 ist die Front-End-Entwicklung zu einer wichtigen Position geworden, die in der Internetbranche nicht ignoriert werden kann. Als eine der am häufigsten verwendeten Technologien in der Front-End-Entwicklung kann Ajax das asynchrone Laden von Seiten und die Dateninteraktion realisieren, und seine Bedeutung liegt auf der Hand. Bei der Verwendung der Ajax-Technologie treten jedoch häufig verschiedene Fehler und Ausnahmen auf. Der Umgang mit diesen Fehlern ist ein Problem, mit dem sich jeder Front-End-Entwickler auseinandersetzen muss. 1. Netzwerkfehler Bei der Verwendung von Ajax zum Senden von Anforderungen tritt der häufigste Fehler auf

Titel: Methoden und Codebeispiele zur Lösung des Problems, dass jQuery.val() nicht funktioniert. In der Frontend-Entwicklung wird jQuery häufig zum Betrieb von Seitenelementen verwendet. Unter diesen ist das Abrufen oder Festlegen des Werts eines Formularelements eine der häufigsten Operationen. Normalerweise verwenden wir die .val()-Methode von jQuery, um Formularelementwerte zu bearbeiten. Allerdings kommt es manchmal vor, dass jQuery.val() nicht funktioniert, was zu Problemen führen kann. In diesem Artikel erfahren Sie, wie Sie effektiv mit jQuery.val umgehen (

Obwohl HTML selbst keine Dateien lesen kann, kann das Lesen von Dateien durch die folgenden Methoden erreicht werden: mithilfe von JavaScript (XMLHttpRequest, fetch()); mithilfe von serverseitigen Sprachen (PHP, Node.js); get() , axios, fs-extra).

Delegation ist ein typsicherer Referenztyp, der zum Übergeben von Methodenzeigern zwischen Objekten verwendet wird, um Probleme bei der asynchronen Programmierung und der Ereignisbehandlung zu lösen: Asynchrone Programmierung: Durch die Delegation können Methoden in verschiedenen Threads oder Prozessen ausgeführt werden, wodurch die Reaktionsfähigkeit der Anwendung verbessert wird. Ereignisverarbeitung: Delegierte vereinfachen die Ereignisverarbeitung und ermöglichen die Erstellung und Verarbeitung von Ereignissen wie Klicks oder Mausbewegungen.

Wie verhindert man die Seitenumleitung in WordPress? Bei der Website-Entwicklung möchten wir manchmal eine Seiten-Non-Jump-Einstellung in WordPress implementieren, das heißt, bei bestimmten Vorgängen kann der Seiteninhalt aktualisiert werden, ohne die gesamte Seite zu aktualisieren. Dies verbessert die Benutzererfahrung und macht die Website reibungsloser. Als Nächstes erklären wir Ihnen, wie Sie die Seiten-Non-Jump-Einstellung in WordPress implementieren und stellen spezifische Codebeispiele bereit. Erstens können wir Ajax verwenden, um zu verhindern, dass die Seite springt. Ajax

Ein Muss für Frontend-Entwickler: Beherrschen Sie diese Optimierungsmodi und bringen Sie Ihre Website zum Fliegen! Mit der rasanten Entwicklung des Internets sind Websites zu einem wichtigen Kanal für die Unternehmensförderung und -kommunikation geworden. Eine leistungsstarke und schnell ladende Website verbessert nicht nur das Benutzererlebnis, sondern zieht auch mehr Besucher an. Als Frontend-Entwickler ist es wichtig, einige Optimierungsmuster zu beherrschen. In diesem Artikel werden einige häufig verwendete Techniken zur Front-End-Optimierung vorgestellt, um Entwicklern dabei zu helfen, ihre Websites besser zu optimieren. Komprimierte Dateien Bei der Website-Entwicklung werden häufig folgende Dateitypen verwendet: HTML, CSS und J

Um eine externe JS-Datei in HTML einzubinden, verwenden Sie das <script>-Tag und geben Sie die URL der zu ladenden Datei an. Sie können auch Typ-, Verzögerungs- oder Asynchronattribute angeben, um zu steuern, wie das Laden und die Ausführung erfolgen. Normalerweise sollte das <script>-Tag am Ende des <body>-Abschnitts platziert werden, um das Rendern der Seite nicht zu blockieren.

Die PHP-Suchfunktion war schon immer ein sehr wichtiger Bestandteil der Website-Entwicklung, da Benutzer häufig das Suchfeld verwenden, um die benötigten Informationen zu finden. Viele Websites haben jedoch Probleme wie geringe Effizienz und ungenaue Suchergebnisse bei der Implementierung von Suchfunktionen. Um Ihnen bei der Optimierung der PHP-Suchfunktion zu helfen, gibt dieser Artikel einige Tipps und stellt spezifische Codebeispiele bereit. 1. Verwenden Sie Volltextsuchmaschinen. Herkömmliche SQL-Datenbanken sind bei der Verarbeitung großer Mengen an Textinhalten weniger effizient. Daher wird empfohlen, Volltextsuchmaschinen wie Elasticsearch, Solr usw. zu verwenden.
