Javascript auslagern (HTML)?

4 Antworten

Vermutlich liegt es daran, dass du es direkt zu Beginn an eingebunden hast.

Beispielsweise funktioniert es nicht, wenn du deinen Button mit JavaScript funktional machen möchtest und JavaScript direkt zu Beginn einbindest, der Button aber im HTML Dokument erst später erzeugt wird. Deswegen solltest du einmal das <script>-Tag ans Ende vom <body> setzen:

<!DOCTYPE html>
<html lang="de">
    <head>
    </head>
    <body>
      <script src="js/button.js></script>
    </body>
</html>

Mehr dazu inkl. Beispiel findest du hier:

https://wiki.selfhtml.org/wiki/JavaScript/Tutorials/DOM/Einbindung_in_HTML

Woher ich das weiß:Studium / Ausbildung

Instabelike 
Fragesteller
 26.03.2020, 19:28

Hat nichts gebracht, aber mit console.log hab ich heraus gefunden, dass die Datei tut. Soll ich die variable irgendwie ändern?

0
Instabelike 
Fragesteller
 26.03.2020, 19:32

Ich habe den Fehler gefunden, doch warum muss ich das ganz am Ende (unter den Footer) lazieren?? Macht irgendwie keinen sinn, da es macht, dass wenn man scrollt ein Knopf angezeigt wird, um nach oben zu gelangen.

1
TechnikSpezi  26.03.2020, 19:36
@Instabelike

Mmh, kannst du den Code mal zeigen? Aber wie gesagt, grundsätzlich die Referenz (also das <script>-Tag) als letzten Tag vor </body> setzen, sodass auch alles schon erzeugt wurde. Je nach Quellcode kann das aber variieren. Also wie gesagt: Grundsätzlich, nicht immer.

0

Welche Fehlermeldungen kommen denn in der Browser-Konsole? Wird das Script überhaupt geladen?

Woher ich das weiß:Berufserfahrung – Entwickle Webseiten seit über 25 Jahren.

Instabelike 
Fragesteller
 27.03.2020, 13:43

Schon gelöscht, aber danke

0

Probier mal das Script jsbutton zu nennen.

<script src="jsbutton.js"></script>


Instabelike 
Fragesteller
 26.03.2020, 19:29

hat nichts geändert

0

Hi ,

bin mir nicht sicher deine Frage richtig verstanden zu haben und bin selbst Anfänger.

Doch ich habe vermutlich das gleiche Problem.

Ich glaube es liegt hieran:

Wenn du das Script in deinen HTML-code schreibst, sieht der Code wohl so aus:

<Script>
$( document ).ready(function() {
    console.log( "juhuuuuu!" );
});
</Script>

Wenn man den Code in eine *.js-Datei auslagern möchte , muss er glaub ich verändert werden

..so, oder so ähnlich :

  • <Script > muss weg
  • document.ready muss weg...

bin echt auf die richtige Antwort gespannt ...


Instabelike 
Fragesteller
 26.03.2020, 19:30

Habe nichts davon drin und es tut nicht, die Datei wird mit console.log aber erkannt, also der Text wird ausgegeben

0
regex9  26.03.2020, 19:52

$(document).ready kann immer bleiben, sofern man irgendwie vorher jQuery lädt.

0