JavaScript kann von der verwiesen werden Skript Tag von HTML und JavaScript wird als Parser bezeichnet Blockieren von Ressourcen Weil die HTML -Parsing durch JavaScript blockiert wird. Um dieses Problem zu lösen, das Skript Tag von HTML bietet uns asynchronisiert und verschieben Attribute, sodass wir mehr Kontrolle darüber haben, wie und wann externe Dateien abgerufen und ausgeführt werden. In diesem Beitrag werden wir untersuchen, was JavaScript Defer -Attribut ist und wie wir das Defer -Attribut verwenden können.
Normale Ausführung
Schauen wir uns die Auswirkungen dessen an, was passiert, wenn das Defer -Attribut nicht vorhanden ist. JavaScript -Dateien pausieren standardmäßig die Analyse des HTML.
Angenommen, wir haben irgendwo in der Mitte einer HTML Skript Schild:
Der HTML -Parser scannt diese Seite und wenn er das Skript -Tag erreicht Code.JS Datei im Skript -Tag und dann diese Datei ausführen. Sobald die Ausführung und das Abholen der JavaScript -Datei abgeschlossen sind. Dieser Prozess verzögert die Wiedergabe von HTML und verlangsamt daher unsere Webseite, indem Sie sich einige Zeit benötigen, um die Webseite voll zu laden.
Was ist das Aufschubattribut??
Die Defer -Eigenschaft kann nur einen echten Wert oder einen falschen Wert haben. Wir können zu dem Schluss kommen, dass es sich um ein boolescher Attribut handelt. Es ist ein Attribut, das nur für externe Skripte verwendet wird. Wenn diese Eigenschaft verwendet wird, definiert sie, dass der Browser nicht darauf warten sollte, dass das Skript geladen wird. In einigen Fällen können externe Skripte viel Zeit zum Laden in Anspruch nehmen. Diese Eigenschaft soll das Dokument lediglich laden, bevor sie in das Skript geladen werden. In einfachen Worten wartet das Defer -Attribut nicht auf die Skript Tag und die Verarbeitung von HTML setzt sich fort. Das Attribut der Syntax für das Aufschub lautet:
Es sollte notiert werden Dass das Defer -Attribut nur auf externe Blätter/Skripte angewendet werden kann, wenn der src Das Attribut ist im Skript -Tag vorhanden. Es sollte auch beachtet werden, dass das Defer -Attribut nicht auf den Inline -Code angewendet werden kann.
Das Defer -Attribut ähnelt dem asynchronen Prozess. Sie können zu einer anderen Aufgabe übergehen, auch wenn die erste Aufgabe nicht erledigt ist.
Beispiel
Wir verwenden ein externes JavaScript -Blatt mit dem Namen von Code.JS:
Vor dem Skript
Nach dem Skript: wird sofort ausgeführt
Wir haben a initiiert P Tag und dann ein Skript -Tag, auf das sich auf die bezieht Code.JS Datei und dann wieder a P Schild.
Im Code.JS Datei, wir trösten einfach.Protokoll Hallo Welt!:
Konsole.Protokoll ("Hallo Welt!");Wir werden die folgende Ausgabe sehen:
Browser -Supportabilität
Die in der Tabelle angegebenen Zahlen geben an, welche Browserversion das erste war, das das Attribut vollständig implementiert.
Attribut | Mozilla Firefox | Microsoft Edge | Google Chrome | Oper | Safari |
verschieben | 3.5 | 10.0 | 8.0 | 15.0 | 5.0 |
Abschluss
Die normale Ausführung von HTML wird blockiert, wenn ein Skript -Tag vorhanden ist. Das Skript -Tag ruft eine externe Datei oder einen Link ab und führt sie dann aus, wodurch die normale Parsen von HTML blockiert wird. Das Defer -Attribut ist die Lösung als Defer -Attribut hilft uns, unsere Skripte so schnell wie möglich herunterzuladen, ohne den Browser/HTML zu blockieren, da es dem Browser mitteilt Skript Schild. In diesem Beitrag wurde das Defer -Attribut in JavaScript zusammen mit einem Beispiel und der Browser Supportability diskutiert.