Roland Genske: Fragen zu window.open()

Beitrag lesen

Hallo Forum-Experten,

ich bin jetzt nach tage- (und nächte :-) langem Experimentieren an dem Punkt, an dem ich selbst nicht mehr weiter weiss.

Wenn mir hier jemand helfen könnte, wäre ihr/ihm mein Dank gewiss!

  1. Kann ich in einem Zweitfenster, dass ich mit window.open() erzeugt habe, aus dem Hauptfenster heraus eine JavaScript-Funktion aufrufen?

  2. Wenn ich aus dem Hauptfenster mit window.open() ein Zweitfenster geöffnet habe und anschließend eine neue Seite in das Hauptfenster lade, ist die Verbindung zum Zweitfenster nicht mehr vorhanden (d.h. die Instanzvariable des Zweitfensters ist "weg").

Um jetzt aus dem neuen Dokument heraus Verbindung zum Zweitfenster aufzunehmen, rufe ich nocheinmal window.open() auf (mit demselben Fensternamen wie vorher). Das klappt auch, ich bekomme mit dem IE6 allerdings einen "Zugriff verweigert" Fehler, wenn ich versuche, z.B. auf zweitfenster.document zuzugreifen. Woran liegt das?

Ich muss dazu sagen, dass ich in diesem Fall window.open() mit der "about:blank" URL aufrufe, um zunächst ein leeres Zweitfenster zu bekommen. Anschließend baue ich aus dem Haputfenster heraus per JavaScript das Dokument im Zweitfenster dynamisch auf [per zweitfenster.writeln()].

Wenn ich das testhalber anders mache, nämlich das Dokument "normal" in einer HTML-Seite speichere und diese als URL an window.open() übergebe, kann ich anschließend problemlos auf zweitfenster.document zugreifen, ohne einen "Zugriff verweigert" Fehler zu bekommen.

Leider bin ich darauf angewiesen, das Dokument per JavaScript dynamisch aufzubauen.

  1. Ist window.open() die einzige Möglichkeit, mit einem existierenden Zweitfenster aus einem neuen Dokument heraus Verbindung aufzunehmen? Da window.open() ja immer eine URL lädt (selbst wenn es sich um "about:blank" handelt), ist anschließend der vorherige Inhalt des Zweitfensters "weg". Kann ich das irgendwie umgehen, d.h. mich aus einem neuen Dokument heraus in ein bestehendes Zweitfenster "einklinken"?

Ich hoffe, ihr versteht, worauf ich hinaus will.

Vielen Dank!!