simon: Fenster mit JS schließen

Hallo,

ich habe ein Problem beim Schließen eines Fenster aus einem Frame herraus.

Zunächst öffne ich ein Fenster aus einem Frame per Klick auf einen Textlink:

<a href='www.google.de' onclick="javascript:info_popup(this.href,'empfaengerliste','700','500','no');return false" class='intern'>klick</a>

function info_popup(mypage,myname,w,h,menuebar) {
   var win = null;

if (menuebar == "") {
      menuebar = "yes";
   }

settings = 'height='+h+',width='+w+',top=10,left=10,scrollbars=yes,menubar='+menuebar+',resizable';
   win = window.open(mypage,myname,settings);

if(win.window.focus){win.window.focus();}

return 0;
}

Dann etwas weiter unten in der selben Seite, soll dieses Popup wieder geschlossen werden, wenn ein Button gedrückt wird:

<input type='button' name='' value='test' onClick='javascript:close_window("empfaengerliste");'>

function close_window(fenster) {

if (fenster != null)

if (!fenster.closed)
      window.fenster.close();

return 0;
}

Die Funktionen stehen jeweils in einer externen JS Datei.
Das öffnen und Anzeigen funktioniert wunderbar. Jedoch bekomm ich das Fenster leider nicht per JS geschlossen. Kann mir jemand sagen wo mein Fehler ist?

Besten Dank

  • Simon
  1. Hi,

    wenn du dir das Beispiel zu window.open ansiehst, dann siehst du, dass zwischen Fenster-NAME und Fenster-REFERENZ ein Unterschied besteht. Der Name ist ein String, den du z.B. als target bei Links angeben kannst. Die Referenz ist ein JavaScript-Verweis auf das Fenster, über das du es auch wieder schließen kannst.
    Was du also machen musst ist dir eine globale Variable zu definieren, dort die Referenz auf das Fenster abzulegen und darauf dann auch wieder zuzugreifen, also im Stil von

    meinFenster = null;

    function info_popup(mypage,myname,w,h,menuebar) {
       // ...; ersetze hier alle "win" durch meinFenster und entferne var win=null;
    }

    ...
    // hier ist der Parameter nicht mehr erforderlich
    function close_window() {
       if ((meinFenster != null) && (!(meinFenster.closed)))
          meinFenster.close();
    }

    MfG
    Rouven

    --
    -------------------
    ss:) zu:) ls:& fo:) de:< va:{ ch:? sh:) n4:( rl:? br:$ js:| ie:) fl:(
    1. Hallo,

      besten Dank! So hat es geklappt.

      1000 Dank

      • Simon
  2. <a href='www.google.de' onclick="javascript:info_popup(this.href,'empfaengerliste','700','500','no');return false" class='intern'>klick</a>

    Neben dem schon gesagten, kannst du hier auch das völlig unnötige Label "javascript:" rausschmeissen

    Struppi.