fjh: window.open() gibt kein Objekt zurück im IE 5

Hallo Forum,

ich habe ein lästiges Problem zu dem ich keine Erklärung, geschweige denn eine Lösung finde. Vielleicht kann mir jemand von euch weiter helfen.

Eigentlich ganz einfach: Ich öffne ein Fenster mit window.open() und versuche danach auf das Fenster zuzugreifen. Aber der IE 5 (unter Windows 2000 SP3) meldet mir immer, es fehle im ein Objekt oder das Objekt sei null:

<script type="text/javascript">
      <!--
       function openMe() {
         F1 = window.open("test2.html", "freestyle");

F1.focus();
        }
      //-->
</script>

Egal wie ich die folgende Funktion aufrufe und auch egal was ich danach mit F1 mache (hängt nicht an focus()), immer kommt die Meldung 'F1 ist kein Objekt'. Schreibe ich var F1 = window.open("test2.html", "freestyle"); heißt es F1 sei null.

Hat irgendjemand eine Idee, was das sein könnte. Es geht in allen anderen mir vorliegenden Browsern und irgendwie muss es auch im IE 5 gehen...

Grüße
Franz

  1. Hallo fjh,

    Hat irgendjemand eine Idee, was das sein könnte. Es geht in allen anderen mir vorliegenden Browsern und irgendwie muss es auch im IE 5 gehen...

    Die Variante mit dem "var" ist die richtige - schließlich muss die Variable F1 doch irgendwo erst mal deklariert werden.
    Hast du im IE vielleicht irgendwo einen Popup-Blocker installiert, der das Popup verhindert? Wenn ja ist die Ursache schon gefunden.

    Gute Nacht

    Marc Reichelt || http://www.marcreichelt.de/

    --
    Linux is like a wigwam - no windows, no gates and an Apache inside!
    Selfcode: ie:{ fl:| br:> va:} ls:< fo:} rl:( n4:( ss:) de:> js:| ch:? sh:| mo:) zu:)
    http://emmanuel.dammerer.at/selfcode.html
    1. Tag Marc.

      Die Variante mit dem "var" ist die richtige - schließlich muss die Variable F1 doch irgendwo erst mal deklariert werden.

      Nein, var schränkt lediglich den Gültigkeitsbereich der Variable ein.

      Siechfred

  2. Hallo Franz,

    Egal wie ich die folgende Funktion aufrufe und auch egal was ich danach mit F1 mache [...

    habs jetzt mit dem IE 5 einfach mal so getestet:
                                 <script type="text/javascript">
          <!--
           function openMe() {
             F1 = window.open("index.htm", "F1");

    F1.focus();
            }
            openMe();
          //-->
    </script>

    Der IE 5 machts, beim Firefox gibt es dafür bei mir eine Meldung i.d. JavaScript-Console.

    Grüsse

    Cyx23

  3. Hallo Forum,

    Ach so, ich sollte vielleicht erwähnen, dass sich das Fenster problemlos
    öffnet, aber dann eben im öffnenden Fenster die Fehlermeldung angezeigt wird. Ich kann dann im geöffneten Fenster auch alles machen, nur Verweise über opener auf das öffnende Fenster funktionieren nicht. Irgendwie scheint die Referenz auf das Fenster nicht zugewiesen zu werden an F1.

    Also ich bin mit meinem Latein am Ende. Das ist scheinbar auch nicht Browserspezifisches, aber an irgendwas muss es doch liegen. Noch irgendwelche Ideen oder weitere Testhinweise, um der Sache auf die Spur zu kommen.

    Gruß
    Franz

  4. <script type="text/javascript">
          <!--
           function openMe() {
             F1 = window.open("test2.html", "freestyle");

    Debugging:
    alert(F1);

    F1.focus();
            }
          //-->
    </script>

    Ich kenne den IE 5 gar nicht, aber kann es sein, dass du ein anderes Objekt mit F1 benannt hast?
    Gib der Variabel mal spaßeshalber einen anderen Namen.

    Struppi.