salve
vorrei far si che ogni utente possa scegliersi la propria personale combinazione di colori del sito e che questa rimanga ovviamente memorizzata tramite cookie.
per ora non ho problemi a memorizzare il cookie o a cambiare il colore della pagina "al volo" tramite pulsante.
il problema nasce quando al refresh o cambiamento pagina dovrei rileggere il cookie e settare al caricamento lo sfondo.
firefox non ne vuole sapere assolutamente, mentre explorer utilizzando bgColor riesce.
quindi la domanda è se sia possibile o meno avere un metodo inanzitutto che funzioni e poi magari senza fare differenze tra browser! grazie!
allego codice js
codice:
var defaultColor = "#3399ff";
window.onload = init();
function init(){
var cookie = readCookie("bgcolor");
var colore = cookie ? cookie : defaultColor;
//"rgb(51, 153, 255) none repeat scroll 0% 0%"
document.body.style.background = readCookie("bgcolor");
document.forms["bgColorSelect"].color.value = readCookie("bgcolor");
alert('works!'+readCookie("bgcolor"));/**/
}
function changeBgColor(){
var bkgcolor = document.forms["bgColorSelect"].color.value;
document.body.style.background = bkgcolor;
createCookie("bgcolor",bkgcolor,30);
}
//thanks to quirksmode.org
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 var 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 eraseCookie(name) {
createCookie(name,"",-1);
}
html
codice:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="it" lang="it">
<head>
<title>questa una pagina di prova</title>
<script ltype="text/javascript" src="scripts.js"></script>
</head>
<body>
<div>
<h1>questa una pagina di prova</h1>
<form name="bgColorSelect" action="javascript:changeBgColor()">
<input name="color" type="text" size="7" value="#FFFFFF"/>
<input type="button" value="Colora!" onclick="changeBgColor()" />
</form>
</div>
</body>
</html>
e il link a una pagina di prova
http://www.jalone.net/test/tests.html