Newsgroup: it.comp.lang.javascript
Titolo: Problema con la cache delle immagini

Salve, è la prima volta che mi ritrovo a fare uso di un newsgroup ma sono
davvero alla frutta. Il mio problema è un javascript all'apparenza banale.
Ho 5 immagini da  ruotare, e queste 5 le precarico in un array di tipo Image
per poi richiamarle e cambiarle soltanto di posizione.
Tutto ciò in Mozilla funziona alla grande mentre IExplorer non vuole saperne
di rendersene conto che sta usando sempre le stesse 5 immagini e continua a
ricaricarle rovinando l'effetto. Vi incollo a seguire il codice che in
locale ovviamente va benissimo ma in rete (su un server) non funziona con
iexplorer.
P.S: tutte le righe di javascript tra le parentesi degli if(document.all)
non variano il comportanmento dello script. Con o senza ho lo stesso
problema.
Grazie per la cortese attenzione, spero qualcuno possa aiutarmi
<html><head>
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
var slideShowSpeed = 5000;
var crossFadeDuration = 3;
var Pic = new Array();
Pic[0] = 'img/img1.jpg';
Pic[1] = 'img/img2.jpg';
Pic[2] = 'img/img3.jpg';
Pic[3] = 'img/img4.jpg';
Pic[4] = 'img/img5.jpg';
var t;
var j = 0;
var p = Pic.length;
var preLoad = new Array();
for (i = 0; i < p; i++) {
preLoad[i] = new Image();
preLoad[i].src = Pic[i];
}
function stop() {
clearTimeout(t)
}
function runSlideShow()
{
if (document.all)
  {
document.images['SlideShow1'].style.filter="blendTrans(duration=crossFadeDur
ation)";
    document.images['SlideShow1'].filters.blendTrans.Apply();
document.images['SlideShow2'].style.filter="blendTrans(duration=crossFadeDur
ation)";
    document.images['SlideShow2'].filters.blendTrans.Apply();
document.images['SlideShow3'].style.filter="blendTrans(duration=crossFadeDur
ation)";
    document.images['SlideShow3'].filters.blendTrans.Apply();
document.images['SlideShow4'].style.filter="blendTrans(duration=crossFadeDur
ation)";
    document.images['SlideShow4'].filters.blendTrans.Apply();
document.images['SlideShow5'].style.filter="blendTrans(duration=crossFadeDur
ation)";
    document.images['SlideShow5'].filters.blendTrans.Apply();
  }
document.images['SlideShow1'].src = preLoad[j].src;
document.images['SlideShow2'].src = preLoad[(j+1)%5].src;
document.images['SlideShow3'].src = preLoad[(j+2)%5].src;
document.images['SlideShow4'].src = preLoad[(j+3)%5].src;
document.images['SlideShow5'].src = preLoad[(j+4)%5].src;
if (document.all) {
document.images['SlideShow1'].filters.blendTrans.Play();
document.images['SlideShow2'].filters.blendTrans.Play();
document.images['SlideShow3'].filters.blendTrans.Play();
document.images['SlideShow4'].filters.blendTrans.Play();
document.images['SlideShow5'].filters.blendTrans.Play();
  }
j = j + 1;
if (j > (p - 1)) j = 0;
t = setTimeout('runSlideShow()', slideShowSpeed);
}
// End -->
</script>
</head>
<body onLoad="runSlideShow()" leftmargin=0 topmargin=0 rightmargin=0
bottommargin=0
marginwidth=0 marginheight=0>
<table style="border-width:1px; border-top-width:0px;
border-left-width:0px;"
cellspacing=0 cellpadding=2 bordercolor="#000000" border=1 width=780
height=560>
<tr>
<td valign=top bgcolor=#EFEEA7 width=243 rowspan=3 style="border-width:1px;
border-right-width:1px; font-family: Arial, Helvetica; font-size: 10pt;">
<p>Parte adibita alla descrizione <p>
</td>
<td width=537 height=148 align=center bgcolor=#E6E6BC
style="border-width:1px;
border-left-width:0px;">
  <span style="font-style:italic; line-height: 200% font-family: Arial,
Helvetica;
font-weight:bold; font-size: 30pt; color: #FF9900">
  TITOLO DELL'OPERA
  </Span>
</td>
</tr>
<tr>
<td bgcolor=#EEEEDD height=383 style="border-width:1px;
border-top-width:0px;
border-left-width:0px; border-left-right:0px;">&nbsp</td>
</tr>
<tr>
  <td bgcolor=#E6E6BC height=18 style="border-width:1px;
border-top-width:0px;
border-left-width:0px; font-style:italic; font-weight:bold; font-family:
Verdana,Arial,
Helvetica; font-size: 7pt;" align=center>
    Bloccare lo scorrimento: cursore sopra la foto centrale. Girare
manualmente: click nella
foto
  </td>
</tr>
</table>
  <div style="position:absolute;  top:201px; left:321; z-index:2;">
  <img src="img/img1.jpg" name='SlideShow1' onmouseover="stop()"
onmouseout="stop();runSlideShow()" onclick="stop();runSlideShow();stop();"
width=350
height=263>
  </div>
  <div style="position:absolute;  top:151px; left:246; z-index:1">
  <img src="img/img3.jpg" name='SlideShow3' width=200 height=151>
  </div>
  <div style="position:absolute;  top:151px; left:579; z-index:1">
  <img src="img/img2.jpg" name='SlideShow2' width=200 height=151>
  </div>
  <div style="position:absolute;  top:389px; left:246; z-index:1">
  <img src="img/img4.jpg" name='SlideShow4' width=200 height=151>
  </div>
  <div style="position:absolute;  top:389px; left:579; z-index:1">
  <img src="img/img5.jpg" name='SlideShow5' width=200 height=151>
  </div>
<div style="border-width:0px; border-top-width:0px; border-left-width:0px;
border-bottom-width:0px; border-style:solid; display:yes; visibility:yes;
position:absolute;
width:1px; height:200; top:200px; left:778; margin-left:0px;
margin-right:0px; margin-top:0px;
margin-bottom:0px; z-index:0; background-color:#EEEEDD;"></div>
</body>
</html>

e soprattutto eprchč mi esce quel nick piuttosto imbarazzante? Che cos'č?
O_O

qualcuno mi aveva cambiato il nome, scusate

 
tu non ce la racconti giusta :-)
-Ema-

pensala come vuoi, è la prima volta che uso i newsgroup. L'importante è che
qualcuno risponda alla domanda :)

 
Ok scusa.. stavo solo scherzando.
Ho provato il codice che hai postato e a me funziona sia sotto Geko (ma 
questo lo sapevi gia') sia sotto IE versione 6.
Tu che versione usi? Potrebbe essere un'impostazione della tua cache?
Ciao.
	-Ema-

Ho provato lo script con Mozilla e con Internet Explorer 6. LE impostazioni
della cache non le ho mai toccate.... quindi penso siano quelle standard!!!
In locale cmq va con tutti i browser, il problema è se lo fai girare su un
server e ti colleghi come client. Il browser non usa la cache.
Dove posso impostare le opzioni della cache di IE6?
Comunque sia con immagini piccole come quelle che uso per prova dovrebbe
funzionare su tutti i browser. In caso contrario non metterei sicuramente
uno script che va solo in certi browser!
per vedere il problema ho caricato su un mio spazio gratuito la pagina.
Provate a caricarlo con IE6
http://nymph.altervista.org/dettaglio.html
"-Ema-" <a@b.c> ha scritto nel messaggio
news:mEqSb.1731$U4.6...@twister1.libero.it...


 
http://nymph.altervista.org/dettaglio.html
cavolo questo non lo carica proprio
provate su
http://a.domaindlx.com/ottoboni/dettaglio.html
IE non lo fa funzionare, Mozilla si.

crad wrote:

La prova l'avevo fatta su un server e con immagini piuttosto ingombranti 
(circa 700K l'una) e tutto funzionava. Al primo caricamento ci metteva 
un po' (ovviamente) poi il tutto filava liscio.
Ho guardato sul link che hai mandato e mi funziona tutto sia con Geko 
che con IE6. Le impostazioni sono su Tools>Internet Options e sotto 
Temporary internet files trovi il bottone settings.
Il refresh di default è automatico. Prova a resettare la cache.
Passi per qualche proxy? Non dovrebbe cambiare nulla... ma non si sa mai.
Ciao.
	-Ema-

ho provato a caricare la stessa pagina creando un nuovo utente su Windows
XP. BEh... incredibile ma vero, due explorer settati uguali, ma uno appena
inizializzato per l'utente nuovo e l'altro "vecchio", si comportano
diversamente.
Qualcuno ha idea di quale impostazione di IE6 può compromettere il caching
di immagini?
Beh comunque il problema sostanziale è risolto. Il problema è del mio client
non dello script. Ringrazio Ema per il supporto.