Tom1tk: automatisch Array-Elemente laden

Hallo zusammen,

ich möchte ein Liste von URLs im Abstand von 5sec in nem Frameset laden.

1. Wie speichere ich am besten die URLs ab? (In nem Array???)

2. Wie kann ich dem JavaScript sagen, dass es immer nach 5sec die nächste URL aus dieser Datenbank laden soll???

Ich hab mir das so gedacht (funzt aber nicht...):

URL=new Array("http://www.meine.domain.de/hallo.html");
URL=new Array("http://www.meine.zweitedomain.de/2te.html");
.
.
.

var tt=0;
anf();
function anf()
{
if (tt!=0)

///HIER Das Array durchlaufen
for (i=0; i < URL.length; ++i)
{
parent.location.inhalt.href=URL[i];
}

tt++;
}
setTimeout("anf()", 5000);

Wo steckt mein Fehler?
Greets Tom1tk

  1. URL=new Array("http://www.meine.domain.de/hallo.html");
    URL=new Array("http://www.meine.zweitedomain.de/2te.html");

    var URL = new Array("http://www.meine.erstedomain.de/1te.html", "http://www.meine.zweitedomain.de/2te.html")

    for (i=0; i < URL.length; ++i)
    {
    parent.location.inhalt.href=URL[i];
    }

    mit der Schleife kommst du hier nicht zu dem gewünschten Effekt, da du die Verzögerung da so nicht reinbekommst. Meine Idee wär:

    var i = 0;
     function anf()
     {
       if(i < URL.length)
       {
         parent.location.inhalt.href = URL[i];
         ++i;
         window.setTimeout("anf()", 5000);
       }
     }

    --
    life's for the living. so check me tomorrow [Matthew Good Band]
    1. Hi,

      var i = 0;
       function anf()
       {
         if(i < URL.length)
         {
           parent.location.inhalt.href = URL[i];
           ++i;
           window.setTimeout("anf()", 5000);
         }
       }

      Sollte nicht das

      window.setTimeout("anf()", 5000);

      ausserhalb der Klammern stehen? Wie wird sonst die Funktion aufgerufen?

      Greets Tom1tk

      1. Sollte nicht das

        window.setTimeout("anf()", 5000);

        ausserhalb der Klammern stehen? Wie wird sonst die Funktion aufgerufen?

        Jap, natürlich, mein Fehler!

        --
        life's for the living. so check me tomorrow [Matthew Good Band]
        1. Nochmals ich,

          ich dreh gleich am Rad.

          var URL=new Array("http://www.google.de","http://www.fireball.de","http://www.google.de","http://www.fireball.de","http://www.google.de","http://www.fireball.de","http://www.google.de","http://www.fireball.de","http://www.google.de");

          var i=0;

          anf();
          function anf()
          {
          if(i < URL.length){

          //parent.inhalt.location.href=domain+URL[i];

          //Zum Debuggen:
          document.write(domain+URL[i]);

          i++;

          setTimeout("anf()", 3000);
           }
          }

          //setTimeout("anf()", 3000);

          Das Script schaltet den ersten, dann den Zweiten, dann Fehler....

          Ideen??

          Wie ist das mit "http://" als String? Nimmt der die zwei // als Kommentar?

          Greets Tom1tk

          1. Nachtrag:

            Ich habe gerade festgestellt, dass nach dem ersten Laden der Seite nur noch "1" im Quelltext steht und dass logischerweise dann auch keine Funktion anf() mehr da ist. Aber wo ist die hin?? JS überschreibt doch keine HTML-Quelltexte, oder?

            Greets Tom1tk

          2. Das Script schaltet den ersten, dann den Zweiten, dann Fehler....

            Ideen??

            Hm, ehrlich gesagt muss ich da passen, bin auch nicht so der JS-Experte... :) Irgendwie hängt das wohl damit zusammen, dass das "i" und "setTimeout" nicht zusammenspielen, was ich nicht verstehe, da i ja eine globale Variable ist. Testet man das ganze nicht mit document.write() sondern alert() funktionierts übrigens... Aber vielleicht kann dir einer der Experten hier helfen?

            --
            life's for the living. so check me tomorrow [Matthew Good Band]