ruedi: ansprechen eines popups, wenn eltern veraendert werden

Beitrag lesen

guten tag forum.

ich habe ein verstaendnisproblem.
ich bin kein blutiger anfaenger, aber laie. weil autodidakt und kein profi in objektreferenzen, moechte ich nach viel forumslektuere trotzdem dies mit euch teilen (da ich das problem nicht erlesen konnte, kann es gut sein, dass es ein bloeder gedankenfahler von mir ist):

ich oeffne im frameset ein popup, das ich bename.
aus diesem kann ich den mainframe opener.framename.location ansprechen, ich kann mit target oder window.open neue seiten ins popup schreiben, alles prima.

ich wollte in erster linie erreichen, dass bei mainframe-refresh auch das popup aktualisiert wird, aber kein neues geoeffnet wird, wenn es zu ist.

wie frage ich den browser, ob es dieses fenster schon gibt?

if (fakten.closed() == true) funktioniert naemlich nicht, wenn der mainframe (elternframe) geaendert wurde.

im tipps-und-tricks-bereich steht sogar ein workaround fuer den fall, dass sich der mainframe aendert und sich das kind evtl. nicht mehr an seinen vater erinnert.

hier benutzte ich (nicht lachen), die in selfhtml erklaerte methode, den window.name eines sich nicht veraendernden frames als variablenuebergabeplatz (fakten='open' oder fakten='closed') zu verwenden.

aber das muss doch auch einfacher gehen!

wenn ich per target oder window.open eine datei hineinlade, weiss der doch auch, dass das fenster da ist, und wenn er das fenster nicht kennt, macht er eins auf, das so heisst.

wie frage ich nach der existenz eines fensters?

und dann kam ich zu wirklichen problemen.

ich merkte naemlich, dass sich mein aufgemachtes popup in keinem fall per name ansprechen laesst. ich bewege mich korrekt in der framehierarchie, frage im popup nach dem opener, es kennt seinen vater, spreche im openerframe den befehl aus: fakten.close(), und das ding tut nichts.
alle anderen frames im set kann ich von diesem frame aus veraendern, nur das popup nicht.

ich erinnerte mich, dass netscape mac frueher (3 oder 4) ein problem hatte, sich framenamen zu merken, aber hier ist es auf ie 5 und auch auf windows mit ie 5 und netscape 6 dasselbe.

fakten is not defined. obwohl ich ihn im selben frame aufgemacht und benamt habe.

die loesung, per window.open eine neue datei hineinzuschicken, die onload=self.close() veranstaltet, kann nicht w3c-konform empfohlen sein, oder??

kann mir jemand helfen, oder einfach einen tipp geben?

da bereits heute jemand im forum ein popup mit namen geschlossen hat, und ich ihn auch nach diesem problem fragen werde, bitte ich, mir zumindest bei der fenster-existenz-frage auf die spruenge zu helfen.

hmm, bei der laenge dieses postings haette ich wohl doch menschelei schreiben sollen ...

besten dank.

der ruedi

p.s. anbei der link, wo das popup realisiert ist, mit allen beschriebenen workarounds (click auf alle fakten oeffnet das popup).