Cookie包含多个值,包括变量?

时间:2013-12-14 18:32:01

标签: javascript cookies

我正在尝试在cookie中保存多个变量,并且这是代码:

function changeColors(){
//get the numbers from the html
var rd = parseInt(document.getElementById("red").value);
var gr = parseInt(document.getElementById("green").value);
var bl = parseInt(document.getElementById("blue").value);
var op = parseFloat(document.getElementById("opacity").value);


//convert the decimal into hexadecimal

var rdhex = (rd < 16) ? "0" + rd.toString(16) : rd.toString(16);
var grhex = (gr < 16) ? "0" + gr.toString(16) : gr.toString(16);
var blhex = (bl < 16) ? "0" + bl.toString(16) : bl.toString(16);

//concatenate all hex to generate a color
var hexcode = "#" + rdhex + grhex + blhex;

//view the change in the browser
document.getElementById("div").style.backgroundColor = hexcode;
document.getElementById("colordisplay").innerHTML = hexcode;
//change opacity
document.getElementById("div").style.opacity = op;
}

function WriteCookie()
{
if( document.myform.name.value == "" ){
    alert("Enter some value!");
    return;
}

cookievalue= escape(document.myform.red.value) + ";" +
    escape(document.myform.red.value)+ ";"+
    escape(document.myform.green.value)+ ";"+
    escape(document.myform.blue.value)+ ";"+
    escape(document.myform.opacity.value)+ ";";
document.cookie="color=" + cookievalue;
alert("Setting Cookies : " + "color=" + cookievalue );

// To revise!!!How do we set multiple values to one cookie?
function ReadCookie()
{
var allcookies = document.cookie;
alert("All Cookies : " + allcookies );

// Get all the cookies pairs in an array
cookiearray  = allcookies.split(';');

我需要在Cookie中存储Name,RGB和不透明度,以便稍后用户可以选择他自己管理的以前的颜色。我的问题是如何将var hexcode和opacity与cookie中的颜色名称一起存储?

1 个答案:

答案 0 :(得分:7)

您可以将这些值与join()一起加入,即:

var separator = ":" // or whatever
var values = [name, rgb, opacity].join(separator);

// then you store the values in a cookie
document.cookie = "myValues=" + values;

有关在Cookie中存储值的信息,请参阅What is the "best" way to get and set a single cookie value using JavaScript