Gono: Problem bei Fensteröffnung in Schleife

Hi,

ich hab folgendes Problem.
Wenn ich in einer For-Schleife den Befehl "window.open" einsetze, dann tritt folgendes Problem auf:
Die Schleife wird nicht komplett, sondern nur einmal durchlaufen und dann beendet. Ich nehme an, daß das Problem daher kommt, daß window.open einen "true"-Wert zurückliefert, der die Schleife abbrechen lässt. Nun soll die Schleife aber komplett durchlaufen werden. Aufgrund meiner Vermutung mit dem Zurückliefern von "true" nehme ich an, daß dieses Problem auch bei allen anderen Arten von Schleifen auftreten wird (habs noch net probiert).
Hat jemand eine Ahnung, ob es entweder eine Funktion zum Fensteröffnen (in Fenster mit bestimmtem Namen) gibt, die keinen "true"-Wert zurückgibt bzw. wie man diese Übergabe abfangen kann.
Für Hilfe wär ich dankbar.

Gruß,
Gono.

  1. Hi Gono,

    void(window.open(...)) unterdrückt den Rückgabewert...

    Grüße,
    bluntburn

    --
    jeden Tag 'ne Currywurst...
    1. Also einfach, anstatt "window.open(...)" "void(window.open(...))" eingeben und damit das Fenster öffnen?

      1. genau, aber schau dir nochmal die Antwort von wahsaga an...

        --
        jeden Tag 'ne Currywurst...
  2. hi,

    Wenn ich in einer For-Schleife den Befehl "window.open" einsetze, dann tritt folgendes Problem auf:
    Die Schleife wird nicht komplett, sondern nur einmal durchlaufen und dann beendet. Ich nehme an, daß das Problem daher kommt, daß window.open einen "true"-Wert zurückliefert, der die Schleife abbrechen lässt.

    window.open erzeugt zwar einen rückgabe-wert, der ist allerdings im erfolgsfall nicht true, sondern eine referenz auf das neu geöffnete fenster.
    darüber hinaus wäre mir nicht bekannt, dass ein rückgabewert einer funktion eine for-schleife beenden/abbrechen würde.

    beschreib mal ein bisschen genauer, was du vorhast, und wie sich das problem äussert, und liefere auch mal ein bisschen (relevanten) code mit.
    ich habe eher die vermutung, dass du vielleicht jedes fenster mit dem selben namen zu öffnen versuchst, und daher nur ein einziges neues fenster entsteht ...

    gruss,
    wahsaga

    1. Gut, hier mal nen schnelles Beispiel:

      <html><head><title>Test</title>
      </head><body>
      <script type="text/javascript">
      <!--
       var Ausgabe = "";
       var Adresse = "http://www.adresse.de/seite.html?variable="
       for(var i = 10; i <= 36; i++)
      {
         Ausgabe = Adresse + i;
       window.open(Ausgabe, fenstername);
      ---> Hier noch ne Pause rein, wird aber, denke ich den Ablauf net beeinträchtigen <-----
      }
      // -->
      </script>
      </body></html>

      ich habe eher die vermutung, dass du vielleicht jedes fenster mit dem selben namen zu öffnen versuchst, und daher nur ein einziges neues fenster entsteht ...

      Es SOLL nur ein Fenster entstehen und alle Adresse nach z.B. 2 Sekunden in diesem Fenster aufgerufen werden. Aber er ruft nur die erste Adresse auf und dann ist Ende.

      Gruß,
      Gono.

      1. hi,

        Es SOLL nur ein Fenster entstehen und alle Adresse nach z.B. 2 Sekunden in diesem Fenster aufgerufen werden. Aber er ruft nur die erste Adresse auf und dann ist Ende.

        dann würde ich aber eher das fenster _einmal_ vor der schleife öffnen, und anschliessend nur seinen inhalt ändern (stichwort window.location.href).

        gruss,
        wahsaga

      2. var Ausgabe = "";
         var Adresse = "http://www.adresse.de/seite.html?variable="
         for(var i = 10; i <= 36; i++)
        {
           Ausgabe = Adresse + i;
         window.open(Ausgabe, fenstername);
        ---> Hier noch ne Pause rein, wird aber, denke ich den Ablauf net beeinträchtigen <-----

        Fehlermeldung?
        http://glasgoogle.de

        Ich vermute mal das es doch die "Pause" ist, wie immer du dies machst.

        Struppi.