2013-04-25 3 views
0

document.setbackground.bgcolor.value сертифицировано и хранит шестнадцатеричное значение (например, «000000» для черных. Сценарий также работает для изменения цвета фона страницы, когда новый выбирается из живой формы, которая обновляет значениеПостоянное Cookie

Проблема заключается в том, что, хотя мой код хранит cookie с моим браузером, он не работает, когда я закрываю браузер и снова открываю. Я хочу, чтобы фон начинался как все, что хранилось в файле cookie. с моим кодом или с настройками моего браузера?

function setBackground() { 
    if (document.setbackground.bgcolor.value != "none"){ 
      document.body.bgColor = "#" + document.setbackground.bgcolor.value; 
      document.cookie = "bgColor=" + document.setbackground.bgcolor.value + 
       ";expires=Wednesday, 02-Mar-2020 12:00:00 GMT;"; 
    } 
} 

Этот код встроен в следующий HTML-код в setPrefe rence.js файл:

<html> 
<head> 
    <script src="setPreference.js"></script> 
</head> 
<body bgcolor="#9999CC"> 
    <center> 
    <form name="setbackground"> 
    Change background color? 
    <select name="bgcolor" onchange="setBackground();" size="1"> 
     <option value="none">Select color</option> 
     <option value="9999CC">Lavender</option> 
     <option value="999966">Light Brown</option> 
     <option value="66FFCC">Light Green</option> 
     <option value="FFFFFF">White</option>  
    </select> 
    </center> 
    </form> 
</body> 
</html> 
+0

и где вы его загрузке? – Zaffy

+0

Я обновил, чтобы показать HTML. –

ответ

0

Когда пользователь выбирает элемент из select вы установите BGColor его значение и создать печенье.

Но вам также необходимо загрузить этот файл cookie и установить bgColor.

Вы можете использовать что-то простое, как это (добавьте его к вашему JS):

// document.cookie - name1=value1; name2=value2; name3=value3 

function GetCookie(what) 
{ 
    var cookies = document.cookie.split(/; ?/g); // now we have array of name=value pairs 
    for(var i in cookies) 
    { 
     var pair = cookies.split("=", 1); 
     var name = decodeURIComponent(pair[0]); 
     var value = decodeURIComponent(pair[1]); 

     if (name == what) 
      return value; 
    } 
} 

window.onload = function() 
{ 
    var color = GetCookie("bgColor"); // note that in the cookie can be ANY value as it comes from the user. So some condition to validate input wouldnt be bad idea 
    document.setbackground.bgcolor.value = color; 
    setBackground(); 
} 
Смежные вопросы