Cheatah: window.opener mit direkter Weiterleitung klappt nicht im NS 4.7

Beitrag lesen

Hi,

Von einer Webseite (Frameset mit 2 Frames) wird aus dem unteren
"main"-Frame ein neues Fenster (_new) geöffnet.

dieser Fenstername ist nicht erlaubt. Neben den vordefinierten _self, _parent, _top und _blank muss ein Name mit einem Buchstaben beginnen.

window.opener.parent.top.location.href=index.html';

parent ist das übergeordnete Frame window und top ist das oberste window.

Das ist missverständlich: parent ist das übergeordnete Frameset _von_ window, also von self. Oberer Code ist identisch mit opener.top.location.href='index.html', wobei ich jetzt mal das fehlende Quote ergänzt habe :-)

Und kann unter Umständen auch falsch sein, dazu müßte man genaueres über dein Frameset wissen.

Genau. Wenn im neuen Fenster beispielsweise ein Frameset lädt, ist der opener nur innerhalb von top enthalten, nicht in den einzelnen Frames. Zudem existiert ein opener ausschließlich dann, wenn das Fenster durch JavaScript geöffnet wurde.

Du meinst evtl. self.close(), was aber in deinem Falle vermutlich das gleiche wie window.close() ist.

Es ist _immer_ das gleiche. self und window sind identisch.

Klappt im Netscape 4.7 überhaupt nicht.

Das ist ein recht sicheres Indiz dafür, dass es falsch ist. Anders herum war die Tatsache, dass im IE etwas funktioniert, noch nie in irgendeiner Form aussagekräftig.

JavaScript Error: window.opener has no properties.
Sicher? nur window.opener nicht vielleicht window.opener.parent.top?

opener ist ein Objekt vom Typ window. _Jedes_ window hat ein parent und ein top, welches im Zweifel mit dem window identisch ist. Gibt es also window.opener, dann gibt es zwangsläufig auch window.opener.parent.top - und window.opener.parent.parent.top.self.window.top.self.parent.window.

Cheatah

--
X-Will-Answer-Email: No