Mam dziwny problem z obsługą obrazków w JS pod FF.

Problem wygląda następująco:

Mam kod preloadujący obrazki:

  1. var dlogosc_paska_postepu = 300
  2. var aktualna_strona;
  3. var strony_gazety = new Array("obrazek1"
  4. , "obrazek2")
  5.  
  6. if (document.images) {
  7. var obrazki = new Array(),coverage = Math.floor(dlogosc_paska_postepu/strony_gazety.length),aktualna_ilosc = 0
  8. var zaladowane = new Array(),i,covered,timerID
  9. var pozostala_dlogosc = dlogosc_paska_postepu%coverage
  10. }
  11.  
  12. function laduj_obrazki() {
  13. for (i = 0; i < strony_gazety.length; i++) {
  14. obrazki[i] = new Image()
  15. obrazki[i].src = strony_gazety[i]
  16. }
  17. for (i = 0; i < obrazki.length; i++) {
  18. zaladowane[i] = false
  19. }
  20. ilosc = obrazki.length;
  21. sprawdz_wyslane()
  22. }
  23. function sprawdz_wyslane() {
  24. if (aktualna_ilosc == obrazki.length) {
  25. show();
  26. return
  27. }
  28. for (i = 0; i <= obrazki.length; i++) {
  29. if (zaladowane[i] == false && obrazki[i].complete) {
  30. zaladowane[i] = true
  31. aktualna_ilosc++
  32.  
  33.  
  34. temp = parseInt((aktualna_ilosc/ilosc)*100);
  35.  
  36. document.getElementById('postep').innerHTML=temp + '% [' + aktualna_ilosc + '/' + ilosc + ']';
  37. }
  38. }
  39. timerID = setTimeout("sprawdz_wyslane()",10)
  40. }
  41.  



Po wczytaniu obrazków wywoływan jest funkcja show() która ma wyswietlic 1 obrazek z tablicy:

  1. document.getElementById('bodywrapper').innerHTML='<img src="' + strony_gazety[0] + '">';


niestety pod FF kończy się to tym że obrazek zaczyna się od nowa wczytywać.

Pod IE od 6.0 wzwyż, nowym Google Chrome oraz nową Operą obrazek wczytuje się już z pamięci podręcznej. Niestety FireFox zachowuje się tak jakby nie widział wczytanych obrazków. Widzi je w pamięci podręcznej dopiero po przeładowaniu. Ma ktoś pomysł dlaczego tak się dzieje? jeżeli znacie sposób na to aby nie trzeba było odświeżać strony aby obrazki pod FF wczytywały się z pamięci podręcznej ty byłbym wdzięczy na pomoc.