Christoph Zurnieden: Referenzieren in andere Frames mit JavaScript?

Beitrag lesen

Hi,

»»und mit window.frames[i] wieder runter.

Das verstehe ich nicht und es klappt auch nicht wirklich auf diverse Arten die ich ausprobiere... Wie muss ich das denn einsetzen?

Ein (i)frame kannst Du als Fenster behandeln. Du kommst also genau so auf der einen Seite runter, wie Du auf der anderen hochgestiefelt bist.

2       3
   /\       /\   /  \     /  \ 4   5    6   7
              /\              /  \             8   9
um von "9" nach "4" zu referenzieren:

Ich hatte mit Absicht nicht durchnummeriert, um genau das zu vermeiden. Es geht nicht um die Knoten im Baum sondern um die Richtung. Der einzige wichtige Knoten im Baum ist der Wurzelknoten. Dessen Position mußt Du aber nicht kennen, sondern kannst darauf testen: über dem Wurzelknoten kommt nix mehr, es gibt also kein "parent".
Damit weißt Du also schonmal, wie Du elegant hochkommst.

Runter geht's etwas anders, da Du ja mehr als ein Blatt hast. Du hast aber dem Frame zu dem Du hin möchtest einen Namen gegeben. Du kannst also den Baum solange abklappern, bis Du den Namen gefunden hast (Du kannst aber natürlich auch nach einer Funktion in dem Frame suchen, wenn die individuell ist, muß kein Name sein.). Möchtest Du da öfter hin, kannst Du den Pfad dahin in einer Variable speichern.

Das wäre dann die Methode für die Leute mit zuwenig Fingern um alle die Knoten durchzuzählen ;-)

parent.parent.parent.window.frames[??].framename.funktion(variable)

Wenn ich mich nicht verzählt habe stimmt das nicht.
Aber nochmal der Hinweis: "parent", "window" und "frame" sind technisch gesehen kaum mehr als nur andere Namen für ein Fenster. Es gibt zwar kleine Unterschiede, aber die sind hier nicht weiter wichtig.

PS: Dann müsste ich das jetzt alles umschreiben wenn ich die Frames rausnehmen würde und durch Tabellen ersetzen würde...

Habe ich irgendetwas von Tabellen gesagt? Die sind hier zwar nicht ganz so verpönt wie Frames, aber nicht sonderlich viel! ;-)

Überleg' doch mal: hast Du Frames genommen, weil Du meintest damit Dein Problem lösen zu können oder hast Du dsa Problem sorgfältig analysiert, alle Möglichkeiten abgewogen und Dich dann für Frames entscheiden?

Und da ich den ganzen Tag schon an der HP gesessen hab... Faulheit hat gesiegt :-)

Naja, das kann man als Argument gerade mal so durchgehen lassen, vor allem, da es darum erst mal nicht geht.
Aber Du bist Dir schon darüber im Klarem, das Deine ganzen Problem erst durch die Nutzung von Frames entstanden sind, oder?

Außerdem hab ich mich jetzt, glaube auch beim Lehrer, auf Frames festgelegt.

Du bist Schüler, daher darfst Du Dich noch verbessern. Du mußt es dann allerdings auch begründen!

so short

Christoph Zurnieden