Julian: existenz eines fensters überprüfen

Hi,

kann ich irgendwie rausfinden ob ein fenster xy existiert?
if (fenstername) mag anscheinend nicht...

Grüße,

Julian

  1. Hi Julian

    kann ich irgendwie rausfinden ob ein fenster xy existiert?
    if (fenstername) mag anscheinend nicht...

    Versuchs mit window.closed
    http://selfhtml.teamone.de/javascript/objekte/window.htm#closed
    allerdings brauchst du dafür die ID des Fensters statt des Namens.

    Ansonsten könntest du mittels try/catch oder onError einen Zugriff versuchen
    und den Fehler abfangen.

    Tschüß
     Jenny

  2. kann ich irgendwie rausfinden ob ein fenster xy existiert?
    if (fenstername) mag anscheinend nicht...

    Nicht wirklich. Wenn du den Namen des Fensters weißt, kannst du es schliessen

    window.open('', 'fenstername').close();

    aber du kommst nur mit open an die nötige Referenz.

    Struppi.

  3. Hallo Julian,

    kann ich irgendwie rausfinden ob ein fenster xy existiert?

    Na, klar ! SCNR

    Einige Hinweise, um die Methode window.close() fehlermeldungsfrei aufrufen zu koennen:

    Die zu schliessende window-Instanz muss als Wert einer Variablen, die z.B.

    fenstername

    heisst, verfuegbar sein (http://selfhtml.teamone.de/javascript/objekte/window.htm#open).

    Ob eine window-Instanz ueberhaupt schon einmal der Variablen zugewiesen wurde, pruefst Du ganz richtig mit Deinem

    if(fenstername)

    ab. Problematisch wird der Versuch, das Fenster zu schliessen, wenn es schon geschlossen wurde - denn obige Bedingung gilt auch dann als wahr :-)

    Also muss auch noch abgefragt werden, ob das Fenster (dass ja im Falle, es schon geoeffnet wurde, in der Variablen verfuegbar ist) geschlossen wurde - interessant ist hier die Eigenschaft "fenstername.closed" (http://selfhtml.teamone.de/javascript/objekte/window.htm#closed), die den Wert "false" liefern muss, um das Fenster erfolgreich schliessen zu koennen.

    Beispiel 1 (in dem vorausgesetzt wird, dass die erste nicht erfuellte Bedingung zuverlaessig zum Abbruch fuehrt):

    function Schliessen()
         {if(fenstername&&fenstername.closed==false)
      {fenstername.close();}}

    Beispiel 2:

    function Schliessen()
         {if(fenstername)
      {if(fenstername.closed==false)
        {fenstername.close();}}}

    Ich hoffe, dies erleichtert Dir in Zukunft den Zugriff auf window-Instanzen.

    (Zumindest habe ich jetzt das heutige Helpfile fuer meine Studis fertig - ich brauche nur noch diesen Thread zu verlinken ;-))

    gruesse
    rainer groth

    --
    ss:| zu:} ls:& fo:) de:] va:| ch:] n4: rl:? br:$ js:| ie:| fl:( mo:?
    (--> einer der letzten bauhaeusler <--)
    1. Beispiel 1 (in dem vorausgesetzt wird, dass die erste nicht erfuellte Bedingung zuverlaessig zum Abbruch fuehrt):

      function Schliessen()
           {if(fenstername&&fenstername.closed==false)
        {fenstername.close();}}

      Beispiel 2:

      function Schliessen()
           {if(fenstername)
        {if(fenstername.closed==false)
          {fenstername.close();}}}

      Ich hoffe, dies erleichtert Dir in Zukunft den Zugriff auf window-Instanzen.

      Sprachlich ist das nicht richtig. Du schreibst zwar window-instanz nennst die Variabel aber fenstername, was zwei unterschiedlich Dinge sind.
      Du kannst ein Fenster nicht schliessen, wenn du nur den Fensternamen kennst, du brauchst immer eine Instanz.

      Struppi.

      1. Hallo Struppi,

        Sprachlich ist das nicht richtig. Du schreibst zwar window-instanz nennst die Variabel aber fenstername, was zwei unterschiedlich Dinge sind.

        ???

        fenstername=window.open() weist IMO das Ergebnis der Anwendung der Methode "open()" auf das "window"-Objekt als Wert der Variablen "fenstername" zu.

        Somit ist in "fenstername" eine "window"-Instanz greifbar.

        (Wobei unter http://selfhtml.teamone.de/javascript/objekte/window.htm#open ein Beispiel zu finden ist, dass mit den Variablenbezeichnungen "F1" und "F2" arbeitet.

        Du kannst ein Fenster nicht schliessen, wenn du nur den Fensternamen kennst, du brauchst immer eine Instanz.

        Full ACK ;-)

        Aber Obacht: "fenstername" hat in meinem Beispiel nichts mit dem optionalen zweiten Parameter der "open()"-Methode zu tun.

        gruesse
        rainer groth

        --
        wer die </faq/> nicht beachtet, bekommt von mir keine antwort - basta !
        ss:| zu:} ls:& fo:) de:] va:| ch:] n4: rl:? br:$ js:| ie:| fl:( mo:?
        (--> einer der letzten bauhaeusler <--)