Mario: Script funktioniert im Firefox, aber nicht im IE7

Beitrag lesen

hi erstmal,

und vielen dank für die antwort.

Wobei ich mich natürlich erst einmal frage: Gibt es keinerlei Fehlermeldung?
Die sind zwar im IE mit Vorsicht zu genießen, aber es wäre wenigstens mal ein Anhaltspunkt.

im firefox die javascript konsole funzt prächtig. die sagt no felher. im ie kommt eine zeilenangabe aber ich weiss nicht, wie ich die ausführlicher machen kann. wenn da jemand was weiss würde vielleicht allein das helfen.

function referenzzufallszahlengenerator(min, max)
{
         var zahl = min - 1;
         while (zahl < min)
               {
               zahl = Math.floor(Math.random()*(max+1));
               }
         return zahl;
         }

Die Logik dieser Funktion erschließt sich mir ehrlich gesagt nicht. Ich vermute, du möchtest eine ganzzahlige Zufallszahl im Intervall [min..max] haben? Dann nimm doch den Klassiker:
  zahl = min + Math.floor(Math.random()*(max-min+1));

richtig. zufallszahl im intervall. abgeschrieben aus nem js buch.

titelreferenzzuersetzen = document.getElementById('referenz'+referenzzuersetzen).innerHTML;
         // text extrahieren, um danach dann im array zu suchen
         startindex = titelreferenzzuersetzen.indexOf("src=")+18;
         endindex = titelreferenzzuersetzen.lastIndexOf("" alt");
         zusuchen = titelreferenzzuersetzen.substring(startindex,endindex);

Auweia. Das würde ich ganz anders lösen: Ich würde mir mit getElementsByTagName('img')[referenzzuersetzen] eine Referenz (hier im technischen Sinn!) auf das img-Element holen und dann einfach dessen src- und alt-Eigenschaft neu setzen. Keine Hampelei mit innerHTML.

naja, ich dachte ich nutze das DOM. ich will zufällig die position bestimmen, die ersetzt werden soll. dann will ich die grafik austauchen und das alt und das title tag. und statt mühselig 3mal zu tauschen nehm ich einfach den inhalt des elternelements, das ist die ganze grafik. fertig. die vorhandenen grafiken sind in einem array gespeichert, dort steht auch, ob sie schon einmal angezeigt werden oder ob sie noch frei sind - die bilder dürfen nämlich nicht doppelt vorkommen.

referenzersetztdurch = referenzzufallszahlengenerator(0, <?php echo $z-1;?>);

Und wenn das wirklich in deinem Javascript-Code steht, hast du noch ein viel größeres Problem. Dann funktioniert nämlich dein PHP nicht - andernfalls wäre <?php ... ?> durch die Ausgabe des Scripts ersetzt.

keine angst. das ist der original quellcode. hab da beim kopieren nicht aufgepasst aber der interpretierte code steht ja im quelltext. dor dürfte wohl derzeit die zahl 83 stehen...

wie gesagt, vom algorithmus her funktioniert es im firefox fehlerfrei. und zwar seit stunden. nur im ie halt nicht. bemerkenswert ist dabei aber, dass im ie schon sämtliche anderen javascripts funktionieren, die auf der seite sind. (mit einem ähnlichen algorithmus werden dort noch ganz andere bilder ausgetauscht).