Seite 1 von 1

Java Script; Include-Problem

Verfasst: 02.02.2013 16:54
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

Re: Java Script; Include-Problem

Verfasst: 02.02.2013 17:45
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

Re: Java Script; Include-Problem

Verfasst: 02.02.2013 18:09
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/>

GELÖSCHT

Verfasst: 02.02.2013 18:15
von mirca
GELÖSCHT

Re: Java Script; Include-Problem

Verfasst: 02.02.2013 18:46
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.

Re: Java Script; Include-Problem

Verfasst: 02.02.2013 19:25
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

Re: Java Script; Include-Problem

Verfasst: 02.02.2013 20:24
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

Re: Java Script; Include-Problem

Verfasst: 04.02.2013 23:32
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