geöffnetes Fenster mit Javascript aus neuem Fenster ansprechen

BugsBastard

Erfahrenes Mitglied
Hallo zusammen,

ich möchte gerne eine Seite mit Javascript öffnen und diese Seite dann später von einer anderen Seite ansprechen.

Also:
Seite A ruft Seite B mit einem Target auf.
Seite C prüft ob Seite B vorhanden ist
wenn ja macht Seite C nichts und schließt sich wieder
wenn nein öffnet Seite C die Seite B und schließt sich danach wieder

Der Hintergrund ist, daß ich auf Seite B einige Ajax-Aufrufe hintereinander mache. Diese führe ich immer wieder mit setTimeout aus, was auch ganz gut klappt (ich überwache damit ein Verzeichnis per PHP). Nun kann es sein, daß jemand die Seite schließt, also muß ich prüfen ob die Seite existiert. Das möchte ich über eine andere Seite machen die alle 15 Minuten per geplanten Task aufrufe. Natürlich könnte ich Seite B auch per geplanten Task aufrufen, aber die Scripte die da laufen brauchen manchmal länger als 15 Minuten also würde er dann immer wieder abbrechen (das ist mein momentanes Problem :))

Hierzu hatte ich mir gedacht, die Seite B per Target=seite_b aufrufe und von Seite C nachher per window.seite_b==undefined abfrage ob die existiert. Das klappt aber leider nicht, auch wenn die Seite aufgerufen war kann er nicht darauf zugreifen.

Kann ich von einem Browserfenster abfragen ob ein anderes Browserfenster existiert wenn ich den Namen (das Target) des Fensters kenne? Ich bräuchte eine Lösung für den IE, den Firefox haben wir zwar auch, aber der schließt nicht automatisch (Seite A/C sollen nach der Ausführung geschlossen werden damit nicht zig offene Browserfenster auf dem Rechner dargestellt werden).

Gruss und danke,

Bugs
 
Soweit ich weiß kann das nicht klappen.
Um ein Fenster per Javascript zu schließen, muss es auch per Javascript geöffnet werden.
Dabei legst du das Fensterobjekt in einer Variable ab.
Javascript:
// oeffnen
seite_b = window.open(url);
// schliessen
seite_b.close();
Nur so kannst du das Fenster überhaupt ansprechen - und das nur von der Seite, die das Fenster geöffnet hat.

Du könntest das Allerdings so lösen:
Seite A ruft bei Klick Seite B im onclick-Event auf. Gleichzeitig startest du einen Timer, der alle 15 Minuten prüft ob Seite B noch existiert und öffnest sie dort, falls Seite B nicht mehr existiert.

Ich hoffe ich hab das alles richtig verstanden und meine Idee hilft dir weiter.
 
Zuletzt bearbeitet von einem Moderator:
Hi,

vielen Dank für die Antwort.

Mein Problem wäre daß man ja die Seite die die andere Seite prüft auch schließen könnte :) dann wären beide Seiten geschlossen und so hätte ich auch keine Kontrolle :(

Bringt mich also nicht wirklich weiter, aber trotzdem danke :)

Gruss,

Bugs
 

Neue Beiträge

Zurück