michael: Zufallsscript - Browser ausgelastet

Hallo!

Ich habe ein kleines Script um ein zufälliges Bild zu laden:

<script type="text/javascript">
zz = Math.round(Math.random()*10);
 while ((zz<1) || (zz>33));
document.write("<img src="http://www.datakitchen.michamo.de/menue/random/headerrandom" + zz + ".gif" width="70" height="64">")
</script>

Das Script läuft eigentlich ohne Probleme, aber ca. bei jedem 100ten Aufruf gibt der Browser (ich verwende Firefox) eine Fehlermeldung, das ein Script den Browser "überfordert". Ich kann dann "weiter" oder "abbrechen" wählen. In beiden Fällen wird die Seite korrekt angezeigt, lediglich das Zufallsbild ist nicht da.

Die Bilder die gewählt werden können sind natürlich alle auf dem Webspace.

Ist das nen Firefoxbug?

Ich bin nicht so der Javascripter, aber für mich sieht das alles korrekt aus ...

Danke für jede Antwort!

  1. Hallo,

    deine While-Schleife ist völlig sinnfrei, da leer. Immer wenn zz==0 ist, also durchschnittlich jedes 20te Mal, gerät die While-Schleife in eine Endlosschleife.

    Wenn die Zufallszahl kleiner 0.5 ist, wird sie auf 0 abgerundet, Du hast also diesen Fall übersehen. Größer als 33 kann sie auch nicht sein, höchstens 10. Die While-Schleife ist außerdem überflüssig. Versuch es mal mit:

    <script type="text/javascript">
       zz = Math.floor(Math.random()*10)+1;
    document.write("<img src="http://www.datakitchen.michamo.de/menue/random/headerrandom" + zz + ".gif" width="70" height="64">")
    </script>

    Schöne Grüße
    adapter

  2. Hi,

    zz = Math.round(Math.random()*(ANZAHL_DER_BILDER-1)) + 1;  
    document.write("<img src=\"http\://www.datakitchen.michamo.de/menue/random/headerrandom" + zz + ".gif\" width=\"70\" height=\"64\">")
    

    MfG Hopsel

    --
    "It's amazing I won. I was running against peace, prosperity, and incumbency."
    George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
    Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)
    1. Hi,

      Nachtrag:
      Setze zz am Anfang auf 1!

      MfG Hopsel

      --
      "It's amazing I won. I was running against peace, prosperity, and incumbency."
      George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
      Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)