BugFix: bilder preload nicht mit firefox?!

Beitrag lesen

Tach,

Ich möchte ein Bilder-preload-script in meine Seite einbasteln, leider wird das mit Firefox nullkommagarnicht dargestellt weil, wie ich inzwischen feststellen durfte, das Dingens nur für den IE vom bösen billy geschrieben wurde...

Kann mir jemand einen Tipp geben wie ich das Ding umbasteln und/ oder verbiegen muß, um es in allen oder zumindest den gängigen Browsern lauffähig zu bekommen? Leider bin ich der sprichwörtliche scriptsprachliche Analphabet und kann mir deswegen nicht selber helfen...

Für Hilfe wäre ich sehr dankbar.

m.f.g.
bugfix

hier ist das Teil...

<script language="JavaScript1.2">
<!-- begin hiding

startingColor = new Array()
endingColor = new Array()

var yourImages = new Array("_picz/2003.gif","_picz/2003_.gif","_picz/2004.gif")
var locationAfterPreload = "frame2.htm"
var preloadbarWidth = 300
var preloadbarHeight = 10
var backgroundOfGradient = "#ffffff"

startingColor[0] = "f"
startingColor[1] = "f"
startingColor[2] = "f"

endingColor[0] = "c"
endingColor[1] = "c"
endingColor[2] = "c"

var gap = 4

if (!document.all) location.replace(locationAfterPreload)
var a = 10, b = 11, c = 12, d = 13, e = 14, f=15, i, j, ones = new Array(), sixteens = new Array(), diff = new Array();
var convert = new Array("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"), imgLen = yourImages.length;
var loaded = new Array(), preImages = new Array(), currCount = 0, pending = 0, h = 0, hilite = new Array(), cover = new Array();
var num = Math.floor(preloadbarWidth/gap);
for (i = 0; i < 3; i++) {
startingColor[i] = startingColor[i].toLowerCase();
endingColor[i] = endingColor[i].toLowerCase();
startingColor[i] = eval(startingColor[i]);
endingColor[i] = eval(endingColor[i]);
diff[i] = (endingColor[i]-startingColor[i])/num;
ones[i] = Math.floor(diff[i]);
sixteens[i] = Math.round((diff[i] - ones[i])*15);
}
endingColor[0] = 0;
endingColor[1] = 0;
endingColor[2] = 0;
i = 0, j = 0;
while (i <= num) {
hilite[i] = "#";
while (j < 3) {
  hilite[i] += convert[startingColor[j]];
  hilite[i] += convert[endingColor[j]];
  startingColor[j] += ones[j];
  endingColor[j] += sixteens[j];
  if (endingColor[j] > 15) {
   endingColor[j] -= 15;
   startingColor[j]++;
  }
  j++;
}
j = 0;
i++;
}
function loadImages() {
for (i = 0; i < imgLen; i++) {
  preImages[i] = new Image();
  preImages[i].src = yourImages[i];
  loaded[i] = 0;
  cover[i] = Math.floor(num/imgLen)*(i+1)
}
cover[cover.length-1] += num%imgLen
checkLoad();
}
function checkLoad() {
if (pending) { changeto(); return }
if (currCount == imgLen) { location.replace(locationAfterPreload); return }
for (i = 0; i < imgLen; i++) {
  if (!loaded[i] && preImages[i].complete) {
   loaded[i] = 1; pending++; currCount++;
   checkLoad();
   return;
  }
}
setTimeout("checkLoad()",10);
}
function changeto() {
if (h+1 > cover[currCount-1]) {
  var percent = Math.round(100/imgLen)*currCount;
  if (percent > 100) while (percent != 100) percent--;
  if (currCount == imgLen && percent < 100) percent = 100;
  defaultStatus = "Loaded " + currCount + " out of " + imgLen + " images [" + percent + "%].";
  pending--;
  checkLoad();
  return;
}
eval("document.all.cell" + (h+1) + ".style.backgroundColor = hilite[h]");;
h++;
setTimeout("changeto()",1);
}
defaultStatus = "Loaded 0 out of " + imgLen + " images [0%]."
// end hiding -->
</script>
</head>
<body>
<center>
<script language="JavaScript1.2">
<!-- beging hiding
document.write('<p align="center"><br><br><br><br><br>Die Seite wird geladen,<br><br>einen kleinen Moment bitte!<br><br><br></p>')
document.write('<table border="0" cellpadding="0" cellspacing="0" width="' + preloadbarWidth + '"><tr height="' + preloadbarHeight + '" bgcolor="' + backgroundOfGradient + '">');
for (i = 0; i < num; i++) {
document.write('<td width="' + gap + '" id="cell' + (i+1) + '"></td>');
}
document.write('</tr></table>');
document.write('<p align="center"><br><br><a href="javascript:location.replace(locationAfterPreload)">... hier klicken um den Vorgang zu beenden ...</a></p>')
loadImages();
// end hiding -->
</script>
</center>