Ciao a tutti.

Preambolo: la situazione

Inutile sottolineare quanto la gestione della cache in IE sia alquanto approssimata, x non dire aleatoria.
Meta content come PRAGMA, last-modified lasciano il tempo che trovano...
I metodi http://flash-mx.html.it/faq/view_faq.asp?idcat=9&id=50 garantiscono efficacemente l'esclusione della cache, solo per quanto riguarda il filmato principale caricato.
Lo stesso trucchetto puo' essere esteso come sappiamo anche "all'interno di Flash" (1***), ovvero forzando il reloading
ed evitanto così l'uso della cache
(esempio: mc.loadmovie("path/immagine.jpg?a=" + Math.Round(999999 *Math.Random())) ) (2***)
Fin qui ci siamo.

Le nostre esigenze.
Ad ogni modo noi tutti spesso vorremmo che gli utenti carichino filmat e files vari esterni
solo quando la versione in cache e' obsoleta rispetto a quella online.

Come fare? Beh, con un po' di scripting lato server.

Vediamo un po' con ASP, ma la stessa cosa puo' essre fatta con PHP....

Ho penssato di creare allo scopo un bel biscottino...un cookie contente:

* la data dell'ultima versione caricata, presente quindi in cache
* un codice numerico tra 0 e 999999

Casistica:

*Se non esiste il cookie (prima visita al mio sito) lo creo.
La data scritta nel cookie e' la data (formato data + ora, tipo 7/21/2003 2:47:43 PM)
dell'ultima modifica al sito.
Il codice e' un numero random tra 0 e 999999
* se esiste si possono incontrare 2 casi:
*la data nel cookie coincide con quello dell'ultima modifica al sito.
Allora leggo dal cookie il codice random registrato
* la data non coincide (il sito online e' piu' recente di quello in cache)
Allora memorizzo nel cookie la data dell'ultima modifica al sito piu' recente
e cosi' pure registro un nuovo codice random.

A questo punto alcuni si domanderanno a che cosa serve il codice random...ma altri
avranno capito che e' il codice random per applicare i metodi della guida di HTML.it,
sia per (1***) che per (2***)

Per funzionare funziona....ma c'e' la seccatura di realizzare (2***) per ogni file swf o jpg
(txt meno perche' il refresh delle loadVars avviene autometicamente)


Qualcuno ha idee alternative ?