garv3: .close() geht nicht!

Hallo zusammen, kann mir jemand sagen, warum bei diesem Script das Fenster geöffnet, aber nicht wieder geschlossen wird?
Die Javascript-Konsole gibt den Fehler "MyVar0Win is not defined" aus.
Versteh ich irgendwie nicht so ganz!?

<script type="text/javascript" language="javascript">
  <!--
  function openWindows(){
    var MyVar0Win = window.open('http://urlxyz.com/index.html', 'Window0');
    window.setTimeout("MyVar0Win.close()", 10000);
  }
  //-->
</script>

Vielen Dank!
Gruß,
GaRv3

  1. hi,

    Die Javascript-Konsole gibt den Fehler "MyVar0Win is not defined" aus.

    Und sie hat vollkommen Recht damit.

    function openWindows(){
        var MyVar0Win = window.open('http://urlxyz.com/index.html', 'Window0');

    Das ist eine lokale Variable.

    window.setTimeout("MyVar0Win.close()", 10000);

    setTimeout ruft die als Argument übergeben Funktion im globalen Scope des window-Objektes auf.
    Da existiert aber keine Variable bzw. Objekt mit dem Namen MyVar0Win. Die wurde mit dem Ende der Funktion zu Grabe getragen.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
  2. function openWindows(){
        var MyVar0Win = window.open('http://urlxyz.com/index.html', 'Window0');
        window.setTimeout("MyVar0Win.close()", 10000);
      }

    Verdacht: Wenn du nach Timeout die Funktion verlassen hast, steht MyVarOWin nicht mehr zur Verfügung.

    Packe die Variable VOR die Funktion und gib ihr IN der Funktion den Wert.

    Kalle

  3. Ach, verdammt. Ihr habt Recht!
    Naja, manchmal bin ich auch blöd und blind.

    Danke trotzdem!