verweise in verschachtelten framesets
Bertono
- javascript
hallo zusammen
ich habe und brauche ein verschachteltes frameset
und möchte aus einem unteren frameset eine seite in einem oberen frameset ändern.
index =
<frameset rows="213,*" border="0" frameborder="0" framespacing="0">
<frame name="oben" src="oben.html" scrolling="no" noresize>
<frame name="fs1" src="fs1.html" scrolling="no" noresize>
</frameset>
fs1 =
<frameset rows="213,*" border="0" frameborder="0" framespacing="0">
<frame name="nav_o" src="nav_o.html" scrolling="no" noresize>
<frame name="fs2" src="fs2.html" scrolling="no" noresize>
</frameset>
fs2 =
<frameset rows="213,*" border="0" frameborder="0" framespacing="0">
<frame name="content" src="start.html" scrolling="auto" noresize>
<frame name="fs3" src="fs3.html" scrolling="no" noresize>
</frameset>
fs3 =
<frameset rows="213,*" border="0" frameborder="0" framespacing="0">
<frame name="nav_u" src="nav_u.html" scrolling="no" noresize>
<frame name="u1" src="u1.html" scrolling="no" noresize>
</frameset>
von der seite nav_u.html ändere ich mit target="" den content-frame und möchte auch die seite nav_o.html ändern, mit diesem javascript:
function FrameAendern ()
{
parent.parent.parent.nav_o.location.href = u1.html;
}
habs auch mit top versucht :-(
und dem aufruf im link:
onclick="FrameAendern();"
bin verzweifelt. was mache ich falsch? hab das schon tzig-mal gemacht und immer hats gefunzt, ok da hatte ich auch andere framesets.
geht das mit dieser frameset konstellation nicht??
vielen dank im voraus für eure mühe!
gruss Bertono
Moin,
von der seite nav_u.html ändere ich mit target="" den content-frame und möchte auch die seite nav_o.html ändern, mit diesem javascript:
function FrameAendern ()
{
parent.parent.parent.nav_o.location.href = u1.html;
}
habs auch mit top versucht :-(
und dem aufruf im link:
onclick="FrameAendern();"bin verzweifelt. was mache ich falsch? hab das schon tzig-mal gemacht und immer hats gefunzt, ok da hatte ich auch andere framesets.
von parent.parent.parent hab ich nie gehört, will mir aber kein endgültiges Urteil über die Richtigkeit erlauben. Probiere es aber mal mit "parent.frames". Flunzt das ebenfalls nicht verwende die Zählweise:
parent.frames[x].location.href = "Ziel.html";
mit x = Nummer des Frames im gesamten window (ggf. ausprobieren!)
Schönen Gruß,
Mike
hallo Mike
danke für deine antwort
das geht leider beides nicht, hab ich schon versucht :-)
ich hab mir ein script aus Selfhtml in meine seite eingebaut das mir die mir die anzahl der framefenster ausgibt:
<script type="text/javascript">
for (var i = 0; i < parent.frames.length; i++)
alert(parent.frames[i].name);
</script>
egal in welchen frame ich das rein schreibe, ich bekomme nur 2 zurück.
da ich nicht möchte das sich meine frames, wenn ich das browserfenster kleiner mache, zusammen schieben, habe ich diese verschachtelung der framesets gewählt
vielleicht hat jemand eine andere idee
bin für alles offen und dankbar
vielen dank im voraus für eure mühe
gruss Bertono
PS: @Mike
die parent eigenschaft kannst du hier nachlesen:
http://aktuell.de.selfhtml.org/tippstricks/javascript/fensterzugriff/
Hallo Bertono,
function FrameAendern ()
{
parent.parent.parent.nav_o.location.href = u1.html;
}
habs auch mit top versucht :-(
Normalerweise sollte top funktionieren. Ich habe das Frameset nicht
nachgebaut, aber so sollte es klappen (wenn ich das Frameset richtig
deute und mich nicht täusche):
top.fs1.nav_o.location.href = u1.html;
Zum debuggen kannst du dir auch den Namen der Frames ausgeben
lassen, vielleicht fällt dir dann irgendetwas auf:
http://de.selfhtml.org/javascript/objekte/frames.htm (ganz unten auf der Seite)
Wenn schon JavaScript benutzt wird, kann man doch alle Frames, die
man ändern möchte, durch eine Funktion ändern lassen und nicht noch
extra target benutzen. Vielleicht gibts auch einen Konflikt in
Verbindung mit target, entferne es testweise...ist aber nur
Spekulation, habe ich selbst noch nie erlebt, weil ich
glücklicherweise schon sehr lange keine Frameseiten anfasssen mußte :-)
Gruß
André