Java Script; Include-Problem

Fragen zu allen anderen Programmiersprachen.
Benutzeravatar
Franky
Beiträge: 1132
Registriert: 29.08.2004 16:31
Wohnort: Münsterland
Kontaktdaten:

Java Script; Include-Problem

Beitrag von Franky »

Moin zusammen,

ich wollte gerade eins meiner uraltprojekte weitermachen (Dynamischer GUI-Aufbau mit JS), aber mein JavaScriptwissen ist so eingerostet, dass ich gerade bei den Grundlagen hänge :angry:

Situation ist folgende Seite:

Code: Alles auswählen

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http‎://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<HEAD><TITLE>Dingsda</TITLE>
<meta http-equiv="Content-type" content="text/html;charset=ISO-8859-1" />
<script language="javascript" type="text/javascript" src="gui_var.js"/>

<script language="javascript" type="text/javascript">
function TuDat()
   {
       alert("Ab gehts");
   }
</script>

</HEAD>
<BODY onload="TuDat()">
<h2>Neues Ereignis eintragen</h2>
</body>
</html>

In der Version wird der Code bei mir nicht ausgeführt (alert wird nicht aufgerufen), Fehler ist "TuDat() is not defined", kommentiere ich die darüberliegende Zeile

Code: Alles auswählen

<script language="javascript" type="text/javascript" src="gui_var.js"/>
aus, läuft es einwandfrei.

Die dort verlinkte Datei ist mittlerweile leer, vorher waren Variablendeklarationen drin. Diese hatte ich auch schonmal in den Hauptquelltext rüber kopiert, dann ging alles, wenn nur die Verlinkung der externen Datei nicht da war. Kopiere ich die Funktion "TuDat()" in die externe Datei und kommentiere den Script-Block aus, kommt keine Fehlermeldung, aber auch kein alert.

Getestet mit Firefox 18.0 und Konquerer 4.7.2

Warum kann ich keine externe Datei einbinden?

Was mache ich falsch? :?

Gruß

Franky
Falsch zugeordnetes Zitat des Tages: "O'zapft is" - Edward Snowden :)
pureuwe
Beiträge: 4
Registriert: 18.11.2011 13:33
Wohnort: Essen

Re: Java Script; Include-Problem

Beitrag von pureuwe »

hy franky

ich würde das erste Einbinden des Javascriptes auch wieder schließen.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http?://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<HEAD><TITLE>Dingsda</TITLE>
<meta http-equiv="Content-type" content="text/html;charset=ISO-8859-1" />
<script language="javascript" type="text/javascript" src="gui_var.js"/>
</script>

<script language="javascript" type="text/javascript">

function TuDat()
{
alert("Ab gehts");
}
</script>

</HEAD>
<BODY onload="TuDat()">
<h2>Neues Ereignis eintragen</h2>
</body>
</html>

Gruß
Uwe
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8809
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: Java Script; Include-Problem

Beitrag von NicTheQuick »

Hat er ja schon mit dem / am Ende: <script language="javascript" type="text/javascript" src="gui_var.js"/>
Dann benötigt man kein </script> mehr. Das ist wie bei <br/>
mirca
Beiträge: 169
Registriert: 13.11.2011 16:05

GELÖSCHT

Beitrag von mirca »

GELÖSCHT
Zuletzt geändert von mirca am 17.10.2013 11:37, insgesamt 2-mal geändert.
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8809
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

Re: Java Script; Include-Problem

Beitrag von NicTheQuick »

Mach einfach das language="javascript" weg.

Code: Alles auswählen

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http‎://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
	<head>
		<title>Dingsda</title>
		<meta http-equiv="Content-type" content="text/html;charset=ISO-8859-1" />
		<script type="text/javascript" src="gui_var.js"></script>
		<script type="text/javascript">
			function TuDat() {
				alert("Ab gehts");
				return true;
			}
		</script>
	</head>
	<body onload="TuDat();">
		<h2>Neues Ereignis eintragen</h2>
	</body>
</html>
So lange man Typ korrekt angibt, ist 'language' unwichtig. Manche Browser kann man mit dem 'language'-Attribut dazu zwingen eine ältere JS-Version zu nutzen. Aber das ist nicht in jedem Browser gleich. Siehe auch hier: selfthtml.org - JavaScript-Bereiche in HTML definieren.
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Java Script; Include-Problem

Beitrag von Kiffi »

NicTheQuick hat geschrieben:Hat er ja schon mit dem / am Ende: <script language="javascript" type="text/javascript" src="gui_var.js"/>
Dann benötigt man kein </script> mehr. Das ist wie bei <br/>
nee, eben nicht. Beim Einbinden von externen Scripten muss man schon explizit das </script> - Tag angeben.

Und das ist auch der Grund, warum es bei Franky nicht funktioniert.

Grüße ... Kiffi
a²+b²=mc²
DarkDragon
Beiträge: 6291
Registriert: 29.08.2004 08:37
Computerausstattung: Hoffentlich bald keine mehr
Kontaktdaten:

Re: Java Script; Include-Problem

Beitrag von DarkDragon »

NicTheQuick hat geschrieben:So lange man Typ korrekt angibt, ist 'language' unwichtig. Manche Browser kann man mit dem 'language'-Attribut dazu zwingen eine ältere JS-Version zu nutzen. Aber das ist nicht in jedem Browser gleich. Siehe auch hier: selfthtml.org - JavaScript-Bereiche in HTML definieren.
Das Attribut heißt bei Franky aber bereits type (neu) und nicht language (alt) und beinhält auch den korrekten MIME-Typ "text/javascript". SGML konforme Parser suchen explizit nach dem nächsten "</".
SelfHTML - Alternative Beschreibung
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
Benutzeravatar
Franky
Beiträge: 1132
Registriert: 29.08.2004 16:31
Wohnort: Münsterland
Kontaktdaten:

Re: Java Script; Include-Problem

Beitrag von Franky »

Danke euch allen,

habe es dank all den Tips ans laufen bekommen, mach es jetzt immer gleich mit <script src="main.js"></script>

Danke und Gruß

Frank
Falsch zugeordnetes Zitat des Tages: "O'zapft is" - Edward Snowden :)
Antworten