У меня проблема с файлами cookie javascript, с которыми я боролся уже несколько дней.
У меня есть эта функция (почти то же самое из w3):
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;
}
}
}
Допустим, я сохранил два куки со следующими именами: 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;
}
}
}
}
и я получаю те же результаты, что и мой первый скрипт