Ciao a tutti!
Allora io ho 2 css, "giorno" e "notte".
Voglio che quando un utente accede al sito, intanto vede attivo "giorno", poi se gli va, clicca su relativo link e passa alla versione css "notte".
Bene.
Tra gli Head ho messo:
<link rel="stylesheet" type="text/css" href="css.css" media="screen" />
Poi, sotto ho messo il Javascript:
<script type="text/javascript">
<!--
function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = '; expires='+date.toGMTString();
}
else expires = '';
document.cookie = name+'='+value+expires+'; path=/';
}
function readCookie(name) {
var nameEQ = name + '=';
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
function setCSS(nome_file_css) {
createCookie('skinUtente',nome_file_css,365);
location.reload();
}
function setCSShref(nome_file_css) {
var link_ = document.getElementsByTagName("link");
for ($i=0;$i<link_.length;$i++)
if(link_[$i].media=="screen") link_[$i].href=nome_file_css+".css";
}
window.onload = function() {
nome_file_css = readCookie('skinUtente');
if(nome_file_css) setCSShref(nome_file_css);
}
// -->
</script>
ed infine, in body, ho messo i link relativi per la scelta dei css:
Diurna
Notturna
Ovviamente i css si chiamano css.css quello di base e gli altri 2, giorno.css e notte.css dove css.css e giorno.css sono uguali identici!
E difatti il cambio funziona e se giro in più pagine del sito, il css scelto rimane attivo.
E quindi?????
Ebbene, l'unico problema, strano a dirsi ma SOLO con IE (io ho la 6.0) è che se la pagina x ha poco contenuto e quindi non arriva sotto fino a presentare la scrollbar, se lo sfondo del giorno è ad esempio bianco, quando scelgo versione Notturna, il css cambia, cambia tutta la pagina, ma quel pezzo di pagina dalla fine del contenuto fino a praticamente la barra di stato sotto, rimane col colore di sfondo del css giorno, roba di cache secondo me, perchè se prendo la pagina e la riduco di poco, il problema si risolve in automatico.
Come posso risolvere???????????
Grazie a tutti!