caricare un CSS con Js

acweb-2004

Utente Attivo
7 Giu 2006
133
0
16
Monza
www.acweb-2004.it
ciao
ho il seguente problema che non so come risolvere:
in una pagina html al "on load" della pagina stessa eseguo un js che mi rende visibile un DIV, con al suo interno del codice html organizzato secondo un codice CSS che è presente in modulo che viene definito come url e richiamato all'interno del Js. Ora se vario la dimensione del DIV o altro parametro CSS e carico la pagina HTML la visualizzazione del DIV avviene con il vecchio parametro, e ciò anche se clicco sul tasto aggiorna del browser (provato con Fx e Ie); solo se pulisco la cache allora viene utilizzato il CSS nuovo, e ciò nonostante che io abbia inserito le seguenti dichiaratorie:
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="pragma" content="no-cache" />
esiste un modo (magari tramite un comando Js) per fare leggere il CSS sempre sul server?

grazie

ciao
 
quei meta tag non servono a nulla come avrai avuto modo di capire, il metodo universale è quello di far credere al browser che alcuni elementi della pagina sono stati modificati, anche se non è vero, il metodo classico è quello del falso get.
Si appende al nome del css, ad esempio se è pagina_stile.css una get fittizia che riporta però come valore i secondi passati dall'ultima volta che è stata scaricata.
Facile!
si ottiene un oggetto Date:
Codice:
var s = new Date();
e si attacca al nome del file css chiedendo il Time. (non il giornale inglese ov cours :))
Codice:
'pagina_tipo.css?n='+s.getTime()
Ogni volta che richiami la pagina il valore in s cambia e quindi per il browser è qualcosa di nuovo da caricare dal server, anche se non è affatto vero :)
Ovviamente il fatto di chiamare in quel modo il file dei fogli di stile non incide sul suo contenuto.
 
Grazie per la risposta, avevo capito anch'io tempo fa, a fronte di una pagina php riservata ed accessibile solo con password, che quei metatag erano inutili, infatti con il tasto indietro del browser la pagina veniva comunque visualizzata anche se non esisteva più la sessione che era stata distrutta con il logout (solo al click su un link venivo rimandato alla pagina di login). Per cui ho dovuto risolvere diversamente anche se mi è rimasto aperto il problema della cronologia, l'accesso alla pagina in tal modo me la rende ancora visibile.
Per quanto riguarda questo problema c'è però una cosa che non capisco, o meglio che mi lascia dubbioso, l'aggiunta al nome della pagina di ....n='+s.getTime() può provocare problemi al caricamento della stessa, in quanto sul server il suo nome è solo: pagina_tipo.css

ciao
 

Discussioni simili