WauWau: Popups öffnen und schließen

Beitrag lesen

Hallo david, hallo andreas,

"dependent=yes"

Bei mir schließt sich das Fenster nicht (verwende Mozilla - ob es daran liegt?)
kenn ich auch nicht. vielleicht so'n IE-Spcial. Aber es gibt den body-handler "onunload" (beim Verlassen der Seite). Mit dem kannst Du dann eine Funktion aufrufen, die das Fenster schließt.

Also bitte - ich poste doch nicht bescheuerte IE-Specials!!!!

Natürlich ist es keins, und das kann ich sogar mit einem Link auf SelfHTML, wo es in einer Tabelle steht, beweisen:
http://www.selfhtml.teamone.de/javascript/objekte/window.htm#open

Aber ich erkenne auch gerade, dass dort steht, nur NS4 würde diese Technik beherrschen. Hmm - dachte zwar, meine Operianer und mein IE hätten das auch mal gekonnt, aber egal ;-)

Nun, klar, mit dem event-handler "onUnload" kannst du dir da was nettes bauen. Kleines Beispiel (ich verwende nur die tags ohne irgendwelchen attributen und sonstigem schnickschnack, um es halt kurzzuhalten)

<head>
<script>
var meinfenster = false; // Variable im globalen Bereich erstellen...

function popup(link, name, breite, hoehe) {
  meinfenster = window.open(link, name, "width="+breite+",hoehe="+hoehe);
  meinfenster.focus();
}

function CloseMyWindow() {
  if(meinfenster) {
    if(!meinfenster.closed)
       meinfenster.close(); // ...damit sie auch hier verwendet werden kannn :-)
   }
}
</script>
</head>
<body onUnload="CloseMyWindow();">
...

Die Funktion CloseMyWindow() prüft hierbei, ob überhaupt der Variable meinfenster was zugewiesen wurde, und wenn, dann prüft sie, ob das ihr zugewiesene fenster bereits geschlossen ist, und wenn nicht, _dann_ schließt sie es.

! Achtung: onUnload trifft beim Verlassen der Seite ein, dass kann
   auch ein wechseln zu einer anderen adresse sein, muss also nicht
   fenster schließen sein.
 ! Bei mir funzt onUnload nicht im Opera7 :-/

WauWau

--
Wau - hier ist mein Selfcode:
ss:) zu:) ls:< fo:~ de:] va:) ch:° n4:# rl:( br:< js:| ie:% fl:| mo:|
[mein alter sah optisch irgendwie besser aus ;-)]