JavaScript in HTML aufrufen?

2 Antworten

Da in einem Browser HTML-Dokumente Zeile für Zeile interpretiert werden, spielt es eine Rolle, wann, wo und/oder wie Scripte eingebunden/ausgeführt werden. Wenn dein Script an der falschen Stelle steht, wird dieses ggf. schon von deinem Browser ausgeführt, obwohl dieser die Elemente noch nicht kennt (interpretiert hat).

Je nach Programmlogik musst du entscheiden, wann das Script geladen und ausgeführt werden kann oder ausgeführt werden soll. Das gilt für externe Scripte als auch für eigene Funktionen und der Gleichen. In der Regel wird JavaScript aber am Ende des <body> Elements vor dem schließenden <body> Tag eingebunden.

Neben dieser Herangehensweise gibt es Attribute für das <script> tag, mit denen festgelegt werden kann, ob Scripte asynchron (async) oder verzögert (defer) geladen werden. Das async-Attribut wird z.B. bei Thirt Party Scripten verwendet, während mit dem defer-Attribut das laden und ausführen hinten angestellt wird.

// script wird zum schluss geladen
<script src="path/app.js"></script>
</body>

// paralleles (asynchrones)laden
<script src="path/app.js" async></script>

// laden und ausführen verschieben 
<script src="path/app.js" defer></script>
Woher ich das weiß:Berufserfahrung

es kommt darauf an wo du wann was machst , wenn du ein script im header hast und der DOM noch gar nicht existiert du aber ein Element haben willst, wird das nix .

dafür gibt es z.b. die

<body onload="hier deine funktion">

oder im javascript mit window.onload ... arbeiten .

funktion damit du javascript auch erst ausführst wenn der DOM vollständig existiert .

yasuoZ 
Fragesteller
 02.06.2022, 16:34

Hätte mal erwähnen sollen, dass ich in der HTML-Datei ein onclick-Event mit besagter Funktion habe.

Wie kann ich javascript die Element-IDs vermitteln, wenn die Dokumente unabhängig von einander sind.

Lösung sind wahrscheinlich wirklich Übergabeparameter

0
TechPech1984  02.06.2022, 16:36
@yasuoZ

ohne code weiss das doch keiner .

uploade dein code entwder auf https://jsfiddle.net/ oder https://pastebin.com/

dieses gesabbel und beschreibung geht hier allen auf den nerft . wenn du ein konretes problem hast, dann mach auch ein konkretes problem daraus . so denkt und ließ jeder was anders . und beim programmieren sind die wege unendlich .

es gibt auch das event target . aber das hilft auch nur bei bestimmten problemen , bei anderen wieder nicht .

0