1900 Stimmen

Wo sollte ich <script>-Tags in HTML-Markup einfügen?

Wenn Sie JavaScript in ein HTML-Dokument einbetten, wo ist der richtige Platz für die <script> Tags und eingebundenes JavaScript? Ich glaube mich zu erinnern, dass man diese nicht in die <head> Abschnitt, sondern am Anfang der <body> Abschnitt ist ebenfalls schlecht, da das JavaScript geparst werden muss, bevor die Seite vollständig gerendert wird (oder so ähnlich). Dies scheint die Ende der <body> Abschnitt als logischen Ort für <script> Tags.

Also, wo es der richtige Ort für die Unterbringung der <script> Tags?

(Diese Frage bezieht sich auf diese Frage in der vorgeschlagen wurde, dass JavaScript-Funktionsaufrufe von <a> Tags zu <script> Tags. Ich bin speziell mit jQuery, aber allgemeinere Antworten sind auch angemessen).

1 Stimmen

Falls du auch nur nach einer einfachen Lösung suchst und einen serverseitigen Generator wie Jekyll verwendest, empfehle ich dir, das Skript mit einzubinden. Das ist viel einfacher!

3 Stimmen

Wenn Sie von einer Suchmaschine kommen und danach suchen: Viele der Antworten sind nicht eindeutig genau die Stelle, an der das "Skript-Tag" am Ende stehen sollte . Wenn das "script"-Tag après </body>', führt die HTML-Validierung zu folgenden Ergebnissen _" Fehler: Skript mit falschem Start-Tag " (Option ankreuzen "Quelle" und klicken Sie "prüfen"_ um den HTML-Quelltext zu sehen). Es sollte sein antes de </body>'. (Das Ergebnis ist ähnlich, wenn das "script"-Tag ganz am Ende steht, nach dem </html> Tag.)

1 Stimmen

5voto

mze3e Punkte 380

Das kommt darauf an. Wenn Sie ein Skript laden, das notwendig ist, um Ihre Seite zu stylen / Aktionen auf Ihrer Seite zu verwenden (z.B. Klick auf eine Schaltfläche), dann sollten Sie es besser ganz oben platzieren. Wenn Ihr Styling zu 100 % aus CSS besteht und Sie alle Fallback-Optionen für die Schaltflächenaktionen haben, können Sie es unten platzieren.

Am besten ist es, wenn Sie ein modales Ladefeld erstellen, Ihren JavaScript-Code am unteren Ende der Seite platzieren und es verschwinden lassen, wenn die letzte Zeile Ihres Skripts geladen wird (wenn das kein Problem darstellt). Auf diese Weise können Sie verhindern, dass Benutzer Aktionen auf Ihrer Seite ausführen, bevor die Skripte geladen sind. Außerdem vermeiden Sie so ein unsachgemäßes Styling.

0 Stimmen

Re "Platzieren Sie Ihren JavaScript-Code unten auf Ihrer Seite". : Aber antes de das abschließende Body-Tag ( </body> )? Können Sie das deutlicher machen? (Aber ohne "Bearbeiten:", "Aktualisieren:" oder ähnlich - die Antwort sollte so aussehen, als wäre sie heute geschrieben worden).

3voto

Sanjeev S Punkte 1023

Das Einbinden von Skripten am Ende wird vor allem dann verwendet, wenn der Inhalt/Style der Webseite zuerst angezeigt werden soll.

Durch die Aufnahme der Skripte in den Head werden die Skripte frühzeitig geladen und können vor dem Laden der gesamten Webseite verwendet werden.

Wenn die Skripte erst zum Schluss eingegeben werden, erfolgt die Validierung erst nach dem Laden der gesamten Styles und des Designs, was für schnelle responsive Websites nicht erwünscht ist.

2voto

Szymon Toda Punkte 4137

Drehbuch blockiert das Laden des DOM, bis es geladen und ausgeführt ist.

Wenn Sie die Skripte am Ende von <body> hat das gesamte DOM die Chance, geladen und gerendert zu werden (die Seite wird schneller "angezeigt"). <script> auf alle diese DOM-Elemente zugreifen kann.

Andererseits ist es sinnvoll, sie nach der <body> start oder höher wird das Skript ausgeführt (wenn noch keine DOM-Elemente vorhanden sind).

Sie binden jQuery ein, was bedeutet, dass Sie es überall platzieren und verwenden können .ready() .

2voto

stpe Punkte 3541

Je nach Skript und seiner Verwendung ist es (im Hinblick auf die Lade- und Rendering-Zeit) am besten, kein herkömmliches <script>-Tag zu verwenden, sondern das Laden des Skripts dynamisch und asynchron auszulösen.

Es gibt verschiedene Techniken, aber die einfachste besteht darin, document.createElement("script") zu verwenden, wenn das Ereignis window.onload ausgelöst wird. Dann wird das Skript erst geladen, wenn die Seite selbst gerendert wurde, was sich nicht auf die Zeit auswirkt, die der Benutzer auf das Erscheinen der Seite warten muss.

Dies setzt natürlich voraus, dass das Skript selbst nicht für das Rendering der Seite benötigt wird.

Weitere Informationen finden Sie in dem Beitrag Kopplung von asynchronen Skripten von Steve Souders (Schöpfer von YSlow , jetzt aber bei Google).

0 Stimmen

(Steve Souders ist nicht zu verwechseln mit Steve Saunders oder John Saunders .)

2voto

Nitesh Singh Punkte 367

Sie können JavaScript-Code in ein HTML-Dokument einfügen, indem Sie den entsprechenden HTML-Tag verwenden <script> die den JavaScript-Code umschließt.

El <script> Tag kann in der <head> Abschnitt Ihrer HTML-Datei, in der <body> Abschnitt, oder nach dem </body> close-Tag, je nachdem, wann Sie das JavaScript laden wollen.

Im Allgemeinen kann der JavaScript-Code innerhalb des Dokuments stehen <head> um sie aus dem Hauptinhalt Ihres HTML-Dokuments herauszuhalten.

Wenn Ihr Skript jedoch an einem bestimmten Punkt innerhalb des Layouts einer Seite ausgeführt werden muss - wie bei der Verwendung von document.write um Inhalte zu generieren - Sie sollten sie an der Stelle platzieren, an der sie aufgerufen werden soll, normalerweise innerhalb der <body> Abschnitt.

0 Stimmen

Re "nach dem schließenden </body>-Tag" : Nein, nein, nein! . Wenn das "script"-Tag après </body>', HTML-Validierung führt zu _" Fehler: Skript mit falschem Start-Tag " (Option ankreuzen "Quelle" und klicken Sie "prüfen"_ um den HTML-Quelltext zu sehen). Wenn es sich um antes de , er validiert .

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X