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
e il link a una pagina di provacodice:<!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>
http://www.jalone.net/test/tests.html

					
					
					
						
  Rispondi quotando