Frames und Variablen
schauan
- html
Hallo,
warum kann ich in einem Frameset nicht mit Variablen arbeiten - wo steckt mein Fehler?
Hier der vereinfachte code:
<HTML>
<HEAD>
<TITLE>Kopfinformation, Frameset</TITLE>
</HEAD>
// dieser Teil funktioniert
<SCRIPT LANGUAGE="JavaScript">
if (self == top) location.href = "fs_3.htm?" + location.href
// dieser Teil funktioniert nicht?
var linkwert="kw200534/teile.htm"
</SCRIPT>
<frameset border=1 frameborder=0 cols="20%,40%,40%">
<frame name="auswert" src="./auswert.htm" scrolling=auto MARGINWIDTH=1 MARGINHEIGHT=1 >
<! hier wird die Variable nicht berücksichtigt>
<frame name="Teile" src=(linkwert) scrolling=auto MARGINWIDTH=1 MARGINHEIGHT=1 >
<frame name="Blaetter" src="blank.htm" scrolling=auto MARGINWIDTH=1 MARGINHEIGHT=1 >
</frameset>
<NOFRAMES>
</NOFRAMES>
</HTML>
Grüße, Andre
Hi,
warum kann ich in einem Frameset nicht mit Variablen arbeiten - wo steckt mein Fehler?
HTML ist keine Programmiersprache und kennt keine Variablen.
cu,
Andreas
HTML ist keine Programmiersprache und kennt keine Variablen.
... und woher kennt es die ?? Hier wird im script eine definiert und im body der Link über die Variable gesetzt. Ist das im body kein html? Unterschied imho zu den frames ist, dass dort kein body vorhanden ist und der link nicht über href sondern src gesetzt wird.
wieder gekürzt - funktioniert:
<html>
<script language="javascript">
var linkwert="./fs_1.htm"
</script>
<body >
<a href="#" onclick=location.href=(linkwert)>linkmich</a> <!'zinkwert als Textausgabe des Link>
</body>
</html>
<a href="#" onclick=location.href=(linkwert)>linkmich</a> <!'zinkwert als Textausgabe des Link>
onclick ist ein Eventhandler, dort wird eine Skriptsprache (i.d.R. JS) ausgeführt, drumherum ist HTML, dort kannst du mit der Variabel nichts anfangen. (so wie du es schreibst ist es auch ungültig, da außer Zahlen, alle Attributwerte in HTML mit Anführungszeichen umschlossen werden müssen).
Struppi.
Hallo allerseits,
danke für die zahlreichen Tips. Ich habe es mit JS gelöst und meine Frames alle in einer Datei definiert:
frames_5.htm
<HTML>
<HEAD>
<TITLE>Auswertungssystem, Frameset</TITLE>
</HEAD>
<SCRIPT LANGUAGE="JavaScript">
seite = location.search.substring(1, location.search.length)
//beginnt mit "?" !
if (seite=="") seite="blank1.htm";
function tag(s) { document.write("<" + s + ">") }
tag('FRAMESET border=2 frameborder=1 ROWS="100,*"')
tag('frame name="head" src="kopf.htm" scrolling=no MARGINWIDTH=1 MARGINHEIGHT=1')
tag('FRAMESET border=1 frameborder=0 COLS="30%,35%,35%"')
tag('frame name="auswert" src="./auswert.htm" scrolling=auto MARGINWIDTH=1 MARGINHEIGHT=1')
tag("FRAME NAME='Teile' SRC='" + seite + "' scrolling=auto MARGINWIDTH=1 MARGINHEIGHT=1")
tag('frame name="Blaetter" src="blank2.htm" scrolling=auto MARGINWIDTH=1 MARGINHEIGHT=1')
tag('/FRAMESET')
tag('/FRAMESET')
tag('NOFRAMES')
tag('/NOFRAMES')
</SCRIPT>
</HTML>
Das Nachladen geschiht nun nicht mehr von einem Frame zum nächsten sondern nur noch aus der Datei mit dem im Frame darzustellenden Inhalt.
test.htm
<HTML>
<SCRIPT LANGUAGE="JavaScript"><!--
if (self == top) location.href = "../frames_5.htm?" + location.href
//--></SCRIPT>
<HEAD>
<TITLE>Auswertungssystem, Index Teil</TITLE>
</HEAD>
<BODY BACKGROUND="../grafik/back01.jpg">
<!....>
Es hat geklappt.
</BODY>
</HTML>
Hallo,
warum kann ich in einem Frameset nicht mit Variablen arbeiten - wo steckt mein Fehler?
<frame name="Teile" src="nachlad.htm" scrolling=auto marginwidth=1 marginheight=1 >
nachlad.htm
.
.
<body text="#000000" bgcolor="#00FFFF" >
<script type="text/javascript">
location.href=parent.linkwert;
</script>
</body>
.
bzw.
nachlad.htm
<html><head></head>
<body onload="location.href=parent.linkwert;" >
</body></html>
sollte funktionieren
Hallo gast,
nachlad.htm
<html><head></head>
<body onload="location.href=parent.linkwert;" >
</body></html>
sollte funktionieren
Hast du das ausprobiert? Das sieht mir schwer nach einer Endlosschleife aus!
So ganz trivial ist das Nachladen von Frames ja auch nicht:
http://aktuell.de.selfhtml.org/artikel/javascript/dyn-frames/index.htm
Gruß Gernot
hallo Gernot ,
Hast du das ausprobiert? Das sieht mir schwer nach einer Endlosschleife aus!
mit
* * * test.htm * * *
<html><head><title>Kopfinformation, Frameset</title>
<SCRIPT LANGUAGE="JavaScript">
var linkwert="teile1a.htm" ;
</SCRIPT>
<frameset border=1 frameborder=1 cols="20%,40%,40%">
<frame name="auswert" src="auswert.htm" scrolling=auto marginwidth=1 marginheight=1 >
<frame name="Teile" src="nachlad.htm" scrolling=auto marginwidth=1 marginheight=1 >
<frame name="Blaetter" src="blank.htm" scrolling=auto marginwidth=1 marginheight=1 >
</frameset>
<noframes>
</noframes>
</head></html>
* * * nachlad.htm * * *
<html><head><title></title></head>
<body onload="location.href=parent.linkwert;" ></body>
</html>
* * * teile1a.htm * * *
<html><head><title>teile1a</title></head>
<body >
teile1a-html
<script language="JavaScript" type="text/javascript">
<!--
alert(parent.linkwert);
//-->
</script>
</body></html>
gab es in IE (6.0) und Mozzila Firefox 1.0.1 keine Fehler und auch keine javascript-Fehlermeldung(in javascript-Konsole)
die alert-Ausgabe erschien auch bloss einmal
mfg