Frameset-Größe verändern
Kai
- javascript
Hi,
hoffe es kann mir jmd helfen.
Ich habe das Problem, dass ich den Frameset verändern möchte. Nun habe ich mit .setAttribute die Spalten zwar neu gesetzt, aber der Mozilla unter Linux zeigt das nicht an. Die Attribute sind wirklich neu gesetzt - wenn man sich die ausgeben lässt, dann gibt er die richtigen Werte aus. Unter Windows hat es auch im IE und Mozilla funktioniert, aber unter Linux nicht. Möchte nicht den Inhalt des Framesets laden, sondern nur die Größe dynamisch verändern.
Kann mir hierzu jmd helfen - hab auch scho im Internet (google) und im Archiv gesucht, aber hierzu nichts gefunden.
VG Kai
Hi,
Die Attribute sind wirklich neu gesetzt - wenn man sich die ausgeben lässt, dann gibt er die richtigen Werte aus. Unter Windows hat es auch im IE und Mozilla funktioniert, aber unter Linux nicht.
Hmm, ich kenne so etwas nur von Mozilla allgemein, nicht speziell von der Linux-Version.
Mozilla braucht ggf. nach der Größenänderung einen Seiten-Refresh. Wenn der Frame größer wird, schicke dem Frame also einfach noch ein reload() oder einen replace() auf sich selbst ...
Gruß, Cybaer
Mozilla braucht ggf. nach der Größenänderung einen Seiten-Refresh. Wenn der Frame größer wird, schicke dem Frame also einfach noch ein reload() oder einen replace() auf sich selbst ...
reload() oder replace() kann man soweit ich weiß nur ein window - also wird das ganze wieder neu geladen,v.a. steht ja in der Datei, in der der Frameset gesetzt wird, noch der nicht geänderte Wert.
Ok hier mal ein Programmausschnitt:
<html>
<head>
<title>Demo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<frameset rows="20,24,*" frameborder="2" border="0" framespacing="0" bordercolor="#FFFFFF">
<frame name="Test" scrolling="NO" src="test_dt.htm" marginwidth="4" marginheight="4">
<frameset cols="50,*" frameborder="0" border="0" framespacing="0">
<frame name="Name" scrolling="NO" src="name.htm" frameborder="5" framespacing="0" marginheight="0" marginwidth="0" >
<frame name="Kopf" scrolling="NO" src="head.htm" frameborder="5" framespacing="0">
</frameset>
<frameset cols="200,*" frameborder="3" border="3" framespacing="2" bordercolor="#FFFFFF">
<frame name="Inhalt" scrolling="YES" src="/servlet/showInhalt?ID=00000000">
<frameset cols="*,0" frameborder="3" border="3" framespacing="2" bordercolor="#FFFFFF">
<frame name="Text" src="text.htm">
<frame name="Grafik" src="grafik.htm" frameborder="5" framespacing="0">
</frameset>
</frameset>
</frameset>
<noframes><body bgcolor="#FFFFFF">
</body></noframes>
</html>
Und hier die FUnktion, in der der Frameset auf 0 gesetzt werden soll, wenn man auf einen Button klickt - also bei Klick auf Button wird diese Funktion aufgerufen. Wenn man das 2.Mal klickt, sollte der Frameset wieder auf 235 gesetzt werden, damit man ihn sieht.
function toggleInhalt()
{
if(parent.document.getElementsByTagName("frameset").item(2).getAttribute("cols")!="0,*")
{
parent.document.getElementsByTagName("frameset").item(2).setAttribute("cols","0,*");
aktInhView = false;
}
else
{
alert(parent.document.getElementsByTagName("frameset").item(2).getAttribute("cols"));
parent.document.getElementsByTagName("frameset").item(2).setAttribute("cols","235,*"); //Syntax für Mozilla
aktInhView = true;
}
}
Unter Windows gings wie erwähnt ohne reload.
Hi,
reload() oder replace() kann man soweit ich weiß nur ein window -
Jeder Frame ist ein window. Ein Frame ist nur nicht das top.window.
Ok hier mal ein Programmausschnitt:
Ich überflieg's mal:
if(parent.document.getElementsByTagName("frameset")
Hier fehlt die Nummer des gewünschten Frameset.
.item(2)
Diese Syntax kenne ich nicht.
Also spontan: entweder liegt der Fehler hier, oder dein Linux-Mozilla hat einen Bug.
Meinen Code (ich verwende ein schnörkelloses getElementById() nebst einem replace() auf sich selbst) kannst Du unter http://Coding.vampirehost.de/Win95 ausprobieren (Maximize-Button des gefakten Windows). Seinerzeit auch mit Linux-Mozilla erfolgreich getestet ...
Gruß, Cybaer
Ok lag an meiner Mozilla-Version. Hab jetz 1.7 installiert - jetz gehts ;-))) hatte vorher Mozilla 0.9.8
Vielen Dank
Kai
hi
hast du vieleicht etwas relevanten code für uns?
so long
ole
(8-)>