Forum Doku Wiki Blog

Forumsarchiv 2001, November
opener auf Existenz abfragen für IE5-PC - if(!opener)

archivierte Beiträge lesen

  1. (JAVASCRIPT) opener auf Existenz abfragen für IE5-PC - if(!opener) von hannibal, 18. 11. 2001, 18:14

opener auf Existenz abfragen für IE5-PC - if(!opener)

Der folgende Beitrag wurde am 18. 11. 2001, 18:14 Uhr von hannibal veröffentlicht.

Hallo,

das ist mein erster Beitrag in Eurem Forum. Habe leider keinen anderen Beitrag gefunden, der mein Problem löst.
Deswegen hier die Frage:

Es wird ein Mutterfenster geöffnet über window.location=etc.
Aus der Mutter wird ein Hilfefenster geöffnet mit "window.open(etc)"

Vom Hilfefenster kommt man mit "opener.focus()" zum Mutterfenster zurück. Andere Methoden haben nicht hingehauen, weil bei mehrfachem Hinundher das Mutterfenster keine focus mehr bekommt auf dem PC.

Wenn nun das Mutterfenster geschlossen wird und man vom Hilfefenster aus wieder auf den Link klick zum Mutterfenster kann das natürlich nicht mehr hinhauen.
Also habe ich eine if-Abfrage eingebaut:

if(!opener)dann öffne Mutter

das klappt auf dem IE5-Mac auch gut, aber nicht für den IE5-PC (nicht 5.5!).

Auch die Schreibweise für NN
if(operner.closed==true)öffneMutter
geht nur für den NN und nicht für IE5-PC.

Jetzt weiß ich nicht mehr weiter.
Habe alles mögliche ausprobiert:

zB. newWin=window.open(hilfefenster)
new Win.erzeuger=self;

Man kann dann zwar mit "erzeuger" arbeiten, aber nicht
if(!erzeuger) oder if(erzeuger.closed==1)fragen.
Das gibt entweder den Fehler "Objekt erwartet" oder "Zugriff verweigert" (???hatte ich noch nie)

Ich brauche nun dringend eine Schreibweise, wie ich den "!opener" zu einem verwertbaren Objekt für IE5-PC mache.

Hat da draußen jemand eine Idee???

Vielen Dank

--------------------

Hannibal

opener auf Existenz abfragen für IE5-PC - if(!opener)

Der folgende Beitrag wurde am 18. 11. 2001, 18:21 Uhr von LanX veröffentlicht.

Hi

ich weiß kenn jetzt keine saubere Loesung, aber mit
try/catch (IE5) koenntest du einen Fehler beim Zugriff auf den
opener abfangen! Alternativ onError eventhandler!

Hilfts?

Tschau
Rolf

opener auf Existenz abfragen für IE5-PC - if(!opener)

Der folgende Beitrag wurde am 18. 11. 2001, 23:25 Uhr von hannibal veröffentlicht.

aber mit
> try/catch (IE5) koenntest du einen Fehler beim Zugriff auf den
> opener abfangen! Alternativ onError eventhandler!

 @Rolf

über on Error hatte ich mir auch schon gedanken gemacht.
Auf try/catch bin ich noch nicht gekommen.
Ich habe beides noch nie verwendet und muß mir das erst anlesen.

Also, wenn ich den Fehler abfangen könnte, kannn ich dann auch eine Reaktion, sprich Öffnen des geschlossenen Mutterfensters erreichen?
Oder kommt dann einfach die große Leere, also es passiert weiter nichts.

Weil, ich will doch das Fenster wieder öffnen, wenn es zu ist.
Also würde ein Fehler bedeuten in diesem Falle, das es zu ist.
Kann ich also sagen onError(window.open()) oder sowas?.

oder

FOR=document  EVENT=onError

window.open(Mütterchen)

Wenn das geht, dann wärs das.


Erstmal Danke und viele Grüße

opener auf Existenz abfragen für IE5-PC - if(!opener)

Der folgende Beitrag wurde am 18. 11. 2001, 23:35 Uhr von LanX veröffentlicht.


Hi

> Ich habe beides noch nie verwendet und muß mir das erst anlesen.

dito :-)

> Kann ich also sagen onError(window.open()) oder sowas?.

IMHO ja! Allerdings solltest du sicher sein das nur diese Fehlerquelle in
Frage kommt, sprich nur sehr wenig Code auf der entsprechenden Seite.


Tschuessi
Rolf

opener auf Existenz abfragen für IE5-PC - if(!opener)

Der folgende Beitrag wurde am 18. 11. 2001, 23:45 Uhr von hannibal veröffentlicht.

@Rolf

Danke.
Hätte noch jemand einen Tip, wie man das mit try/catch macht?
Ich bin mir ziemlich sicher, daß nur dort ein Fehler auftreten kann.

Also

if(!opener) geht für IE5-Mac, aber macht einen Fehler in IE5-PC und NN
if(opener.closed==true) geht in NN macht aber eine Fehler in IE5 überhaupt.
Und IE4.5-Mac macht bei allem einen Fehler.

Da ich vorher eine CSS-Weiche vorgeschaltet habe, habe ich alle Browserversionen als Variablen vorrätig. (indexOf.Navigator.userAgent etc)

Kann da jemand was mit anfangen???

Danke

Viele Grüße

opener auf Existenz abfragen für IE5-PC - if(!opener)

Der folgende Beitrag wurde am 18. 11. 2001, 18:29 Uhr von Thomas Meinike veröffentlicht.

> if(!opener)dann öffne Mutter

> das klappt auf dem IE5-Mac auch gut, aber nicht für den IE5-PC (nicht 5.5!).

Schon mal if(!opener.closed) probiert?

MfG, Thomas

opener auf Existenz abfragen für IE5-PC - if(!opener)

Der folgende Beitrag wurde am 18. 11. 2001, 23:19 Uhr von hannibal veröffentlicht.

> Schon mal if(!opener.closed) probiert?

@MfG, Thomas

Ich habe probiert if(opener.closed)
aber das ist falsche Syntax, weil closed entwerder true oder false ist.
also heißt das so:
if(opener.closed==true)dann ist das Fenster geschlossen, wenn es true ist.
Das geht für den NN, aber nicht für IE. Frag mich mal warum. So bin ich ja hier gelandet.

Aber ich kanns ja trotzdem mal versuchen.

Dank und viele Grüße

opener auf Existenz abfragen für IE5-PC - if(!opener)

Der folgende Beitrag wurde am 19. 11. 2001, 14:12 Uhr von Thomas Meinike veröffentlicht.

> > Schon mal if(!opener.closed) probiert?

> @MfG, Thomas

> Ich habe probiert if(opener.closed)
> aber das ist falsche Syntax, weil closed entwerder true oder false ist.
> also heißt das so:
> if(opener.closed==true)dann ist das Fenster geschlossen, wenn es true ist.

if(!opener.closed) ist durchaus keine falsche Syntax, es verneint die Pruefung auf closed, d. h. wenn not closed, dann noch geoeffnet. Explizite Abfragen auf ==true oder ==false macht man eher selten.

Analog fragt zum Beispiel if(!document.layers) nach Browsern, die keine Layers-Collection kennen.

Vermutlich liegt es doch am verwendeten Browser.

MfG, Thomas

© 1998-2013 SELFHTMLImpressumSoftware: Classic Forum 3.4