我有一個javascript cookies的問題,我一直在苦苦掙扎幾天。 我有這個功能(幾乎從W3相同):javascript cookie數組值
function getCookie(c_name)
{
var i,x,y,ARRcookies=document.cookie.split(";");
for (i=0;i<ARRcookies.length;i++)
{
x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
x=x.replace(/^\s+|\s+$/g,"");
if (x.indexOf(c_name)==0)
{
ar[i]=y;
arr[i]=x;
}
}
}
比方說,我已經存儲了兩個cookie具有下列名稱:tablet1
和taskt1
。當我撥打getCookie('table')
,ar.length
是1.之後,我運行getCookie('task')
和ar.length
是2.這會導致我很多問題。如果我把ar=0;
放在函數的起始處什麼都不起作用,就好像函數每次調用它時都會存儲值,而不會擦除舊的值。
============================
var arrCookies = {};
function getCookie(c_name)
{
var i,x,y,ARRcookies=document.cookie.split(";");
for (i=0;i<ARRcookies.length;i++)
{
x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
x=x.replace(/^\s+|\s+$/g,"");
if (x.indexOf(c_name)==0)
{
arrCookies[c_name] = y;
}
}
}
當我這樣做,該arrCookies [c_name]它確實不存儲任何值 - > arrCookies [c_name] .lenght爲零
=============================== ================== 我也做
function getCookie(c_name)
{
var i,x,y,ARRcookies=document.cookie.split(";");
for (i=0;i<ARRcookies.length;i++)
{
x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
x=x.replace(/^\s+|\s+$/g,"");
if (x.indexOf(c_name)==0)
{
if(c_name=='table'){
xxx[i]=x;
xx[i]=y;
}
else if(c_name=='task'){
arr[i]=x;
ar[i]=y;
}
}
}
}
和我得到我的第一個腳本同樣的結果
我這樣做了,但它沒有「重置」ar,它對腳本沒有影響。我試過 1)ar = 0; - 沒有任何作用 2)ar = []; - 什麼都不做 3)ar = array(); - 什麼都不做 – teo6389