Wie richtig ist es, den gesamten Javascript-Code in die Tags der HTML-Datei zu setzen?

Wird es als besser angesehen, den gesamten js-Code in separaten .js-Dateien abzulegen?

Ich habe festgestellt, dass auf vielen Websites (einschließlich dieser) js-Code in die HTML-Datei selbst geschrieben ist (eingeschlossen in Skript-Tags).

Nehmen wir an, ich habe beschlossen, den gesamten möglichen Javascript-Code in separaten Dateien abzulegen. Haben diese externen Dateien nun Zugriff auf die Elemente der Elemente des HTML-Dokuments?

Angenommen, ich möchte jedes Mal, wenn ein Benutzer auf eine Schaltfläche klickt, ein neues <p> -Element mit Text erstellen. Wird die externe Javascript-Datei Zugriff auf die Dokumentelemente haben, um dies zu ermöglichen?

1
batman 9 Okt. 2012 im 14:49

7 Antworten

Beste Antwort

Wenn Sie in Ihrem HTML-Code auf die Datei .js verweisen, hat das JavaScript Zugriff auf alle Elemente auf der Seite. Dies gilt auch für dynamisch erstellte Elemente.

Es wird empfohlen, so viel JavaScript wie möglich in externen Dateien zu haben. Es sollte keinen Grund geben, JavaScript-Code auf der Seite selbst zu haben.

5
Oded 9 Okt. 2012 im 10:51

Separate .js -Dateien führen zu mehreren http -Anfragen. Dadurch wird das Laden Ihrer Seite etwas langsamer. Beide haben jedoch einen eigenen Vor- und Nachteile-Link. Wenn Sie beispielsweise .js -Dateien haben, wird das Caching durchgeführt Das Laden Ihrer Seite wird beschleunigt, wenn der Benutzer Ihre Seite erneut besucht, und Sie müssen sie nicht auf jeder von Ihnen verwendeten Seite ändern, indem Sie nur eine einzelne Datei bearbeiten. Andererseits sind die Nachteile, wenn die Dateien zwischengespeichert werden und Wenn Sie Änderungen vornehmen, sind die Änderungen manchmal nicht betroffen, da der Browser ein zwischengespeichertes .js hat, sodass einige Benutzer ihre Javaskripte wie abcv1.js, abcv2.js usw. umbenennen. Durch die Verwendung von Inline-Skripten werden Ihre http-Anforderungen reduziert Es wird auch nicht vom Browser zwischengespeichert. Wenn Sie es ändern, wird es im richtigen Moment auf Ihrer Webseite für alle Besucher angezeigt, da das Skript nicht zwischengespeichert werden kann.

Wenn Sie externe .js Dateien möchten, können Sie alle Skripte in einer einzigen Datei binden, um Ihre http Anforderungen zu reduzieren

2
Mr. Alien 9 Okt. 2012 im 11:01

Jeder ist oben richtig. Beachten Sie, dass .js-Dateien vom Browser zwischengespeichert werden, während dies bei Inline-Code nicht der Fall ist. Dies hat zahlreiche Vorteile, da der Browser nicht jedes Mal, wenn ein Benutzer Ihre Seite besucht, das Javascript anfordern muss, sodass weniger Daten über die Verbindung gesendet werden und die Seite beim zweiten Mal schneller geladen wird. Verringert auch Ihre Bandbreitennutzung.

Sie können dies auch beschleunigen, indem Sie Ihre js-Datei minimieren

1
Liam 9 Okt. 2012 im 10:57

Ich versuche immer, es auf Variablen zu beschränken, die beim Rendern geschrieben werden müssen und mehr oder weniger eindeutig sind. Wie bei der Lokalisierung (auch wenn Sie gerade damit beginnen, einen Dienst zu verwenden) kann der Rest (und sollte) in externen Dateien gespeichert und vom Browser zwischengespeichert werden

0
VeXii 9 Okt. 2012 im 10:55

Jeder JS-Code in JS-Dateien, auf die verwiesen wird, hat Zugriff auf Ihr HTML.

Javascript ist im Allgemeinen dazu gedacht, in separate Dateien aufgeteilt zu werden, aber aus irgendeinem Grund widersprechen einige Leute dem, und es ist nicht wirklich das Ende der Welt.

2
Andy 9 Okt. 2012 im 10:52

Javascript in externen .js-Dateien zu haben, ist das Richtige, um den Code aufgeräumt zu halten. Sobald Sie auf die externe Datei in Ihrem HTML-Code verweisen, wird sie effektiv identisch mit Javascript, das im HTML-Code enthalten ist

0
mr_lewjam 9 Okt. 2012 im 10:53

In externen .js Dateien gespeichertes Javascript verhält sich genauso, als ob sich das Javascript direkt im HTML-Code befand.

Der Vorteil der Verwendung in .js - Dateien besteht darin, dass diese Dateien im Allgemeinen vom Browser zwischengespeichert werden und daher nicht jedes Mal heruntergeladen werden müssen, wenn die Seite geladen wird. Dies hat den Nachteil, dass Sie die Datei umbenennen müssen, wenn Sie aus irgendeinem Grund Änderungen an der Datei vornehmen müssen, um sicherzustellen, dass die neuesten Änderungen übernommen werden.

Normalerweise füge ich Javascript nur dann als Teil der Seite hinzu, wenn bestimmte Werte verwendet werden müssen, die im Rahmen meiner ASP.NET-Projekte aus dem "Code dahinter" übergeben werden.
Zum Beispiel var myJSVar = <%=_myCSVar%>;

0
freefaller 9 Okt. 2012 im 10:54