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

2voto

Tech AG Punkte 56

Sie können die meisten der <script> Referenzen am Ende von <body> .

Aber wenn aktive Komponenten auf Ihrer Seite vorhanden sind, die externe Skripte verwenden, dann sollten deren Abhängigkeiten (.js-Dateien) davor stehen (idealerweise in der Kopf Tag).

2voto

nada diaa Punkte 129

Der beste Ort, um Ihren JavaScript-Code zu schreiben, ist am Ende des Dokuments nach oder direkt vor der </body> Tag, um zuerst das Dokument zu laden und dann den JavaScript-Code auszuführen.

<script> ... your code here ... </script>
</body>

Und wenn Sie schreiben jQuery kann folgendes im Kopfdokument stehen und wird nach dem Laden des Dokuments ausgeführt:

<script>
    $(document).ready(function(){
        // Your code here...
    });
</script>

0 Stimmen

Es wirft SyntaxError

0 Stimmen

Ihre Antwort war nicht falsch, aber sie bedurfte dringend einer Aktualisierung.

0 Stimmen

Es ist keine gute Idee, die Skripte an das Ende des Body- oder HTML-Codes zu setzen. Es ist gängige Praxis, diese Art von Metainformationen genau dort zu platzieren, wo sie hingehören: im Kopf.

1voto

  • Wenn Ihnen die Unterstützung und Leistung des Internet Explorer noch wichtig ist, bevor Sie Version 10 ist es am besten, wenn immer Machen Sie Ihre Skript-Tags zu den letzten Tags Ihres HTML-Körpers. Auf diese Weise können Sie sicher sein, dass der Rest des DOM geladen wurde, und Sie werden nicht blockieren und rendern.

  • Wenn Sie sich nicht mehr allzu sehr um den Internet Explorer vor Version 10 kümmern, sollten Sie Ihre Skripte in den Kopf Ihres Dokuments setzen und die defer um sicherzustellen, dass sie erst ausgeführt werden, nachdem Ihr DOM geladen wurde ( <script type="text/javascript" src="path/to/script1.js" defer></script> ). Wenn Sie möchten, dass Ihr Code auch im Internet Explorer vor Version 10 funktioniert, vergessen Sie nicht, Ihren Code in eine window.onload Aber eben!

1 Stimmen

In der akzeptierten Antwort wird dies als "antiquierte Empfehlung" bezeichnet. Wenn Sie diese Empfehlung immer noch ernst meinen, sollten Sie vielleicht einen Beleg dafür anführen.

1voto

Amit Mhaske Punkte 411

Ich denke, es hängt von der Ausführung der Webseite ab.

Wenn die Seite, die Sie anzeigen möchten, nicht richtig angezeigt werden kann, ohne dass vorher JavaScript geladen wird, sollten Sie die JavaScript-Datei zuerst einbinden.

Wenn Sie jedoch eine Webseite anzeigen/rendern können, ohne zunächst eine JavaScript-Datei herunterzuladen, sollten Sie den JavaScript-Code am Ende der Seite einfügen. Dadurch wird ein schnelleres Laden der Seite simuliert, und aus Sicht des Benutzers sieht es so aus, als würde die Seite schneller geladen.

0voto

Patel Charul Punkte 197

Wir müssen immer Skripte vor dem schließenden Body-Tag einfügen, wenn wir ein bestimmtes Szenario erwarten.

Zum Beispiel:

`<html> <body> <script> document.getElementById("demo").innerHTML = "Hello JavaScript!"; </script> </body> </html>`

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