JS cookie не хотят переходить со страницы на страницу

T
На сайте с 11.10.2009
Offline
20
579

ребя помогите пожалуйста, сроки горят, завтро нужно открыть сайт, не получается перетаскивать куки со страницы на страницу....

В Опере, хроме и мазиле все работает, но во всей серии IE какая то трабла.

Как не заношу переменую order что бы она носила ID заказа в себе по страницам, ни как не хочет, только захожу на новую страницу, где еще небыл, сразу же пропадает, но если обновить страницу, она появляется вновь, что такое? как с этим бороться?!!!

unction getCookie(c_name)

{

var i,x,y,ARRcookies=document.cookie.split(";");

for (i=0;i<ARRcookies.length;i++)

{

x=ARRcookies.substr(0,ARRcookies.indexOf("="));
y=ARRcookies.substr(ARRcookies.indexOf("=")+1);
x=x.replace(/^\s+|\s+$/g,"");
if (x==c_name)
{
return unescape(y);
}
}
}

function setCookie(c_name,value,exdays)
{
var exdate=new Date();
exdate.setDate(exdate.getDate() + exdays);
var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
document.cookie=c_name + "=" + c_value;
}

setCookie("order",значение,1);

maldivec
На сайте с 04.11.2008
Offline
160
#1

Вам надо указать в куке путь (в вашем случае, кука должна ставиться в корень сайта, т.е. '/'). Иначе она у вас для каждой страницы своя, по этому и пропадает при переходах.

Вместо


document.cookie=c_name + "=" + c_value

напишите


document.cookie=c_name + "=" + c_value + "; path='/'";

Можно еще и домен указать...

В общем у меня кука ставиться вот так, выберите, что вам нужно:


function set_cookie (name, value, expires, path, domain, secure) {
document.cookie = name + "=" + (value) +
((expires) ? "; expires=" + expires : "") +
((path) ? "; path=" + path : "") +
((domain) ? "; domain=" + domain : "") +
((secure) ? "; secure" : "");
}
T
На сайте с 11.10.2009
Offline
20
#2

У меня почему то вот так не страбатывает :(

document.cookie=c_name + "=" + c_value + "; path='/'";

Вообще в куки перестал писать...

C
На сайте с 04.02.2005
Offline
291
#3

а точку с запятой.... убрать

document.cookie=c_name + "=" + c_value + "; path='/'";

maldivec
На сайте с 04.11.2008
Offline
160
#4

Почему убрать? параметры кук разделаются точной с запятой... там кавычки одинарные я зря поставил похоже...

Вот готовые функции для кук в js - http://www.codenet.ru/webmast/js/Cookies.php

лучше их используйте, чем те, которые у вас :)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий