Hallo,
nein, das ist so definiert und daher keineswegs unschön: _Jedes_ window-Objekt hat einen parent und einen top, welche im Zweifel eine Selbstreferenz sind.
Du verstehst noch nicht ganz, was ich meine. Vielleicht hab' ich mich auch missverständlich ausgedrückt.
Natürlich ist es so definiert, dass jedes Fenster ein parent hat, sonst würde es ja nicht funktionieren. Ich wollte nur sagen, dass ich es unlogisch finde, das Elternfenster eines Fensters anzusprechen, dass eigentlich gar kein Elternfenster hat.
OK, aber dass ist natürlich nur meine (unqualifizierte) Ansicht und eigentlich auch überhaupt nicht wichtig ;-)
Wäre es anders, müsste man potentiell auch bei der Abfrage "if (self==top)" eine Fehlerbehandlung einbauen.
Nein. Das jedes Fenster ein "top" hat und dass dieses auch das Fenster selbst sein kann, ist ja logisch.
Nimm statt Fenstern Buchseiten:
Von jeder Ausgangsseite aus könnte man mit "first" die erste Seite des jeweiligen Buches adressieren. Das first heißt dann soviel wie "die erste Seite des Buches, in dem auch die Ausgangsseite vorkommt". Damit hätte auch die erste Seite selbst ein "first", denn es gibt ein Buch, in dem diese (Ausgangs-)Seite vorkommt und dieses Buch hat eine erste Seite.
Analog dazu könnte man mit "previous" die jeweils vorhergehende Seite einer Ausgangsseite adressieren. Das previous bedeutet dann "die Seite, die in dem Buch, in dem auch die Ausgangsseite vorkommt, genau eine Seite vor dieser Ausgangsseite zu finden ist". Damit hätte jede Seite ein previous, nur nicht die erste Seite, denn es gibt zwar ein Buch, in dem diese (Ausgangs-)Seite vorkommt, aber in diesem Buch gibt es keine Seite, die genau eins vor der Ausgangsseite steht.
OK, der Vergleich ist nicht besonders toll gewählt. Was ich schreibe hat jetzt auch nichts mehr mit der Struktur von Javascript zu tun, denn es ist nunmal so definiert, dass jedes Fenster ein parent hat. Ich wollte dir nur zeigen, warum ich es unlogisch finde, dich aber auch nicht unbedingt überzeugen.
Genaugenommen ist's ja sowieso egal ;-)
Robert