Установка cookie для всего домена
Подскажите, как установить cookie для всего домена а не только для отдельного каталога. Тоесть есть домен mysite.com, в нем есть два подкаталога mysite.com/cat1 и mysite.com/cat2. Так вот в mysite.com/cat1 в index.htm есть код:
function writeCookie(name, value, expires, path, domain, secure) {
document.cookie =
name +"=" + escape(value) +
((expires) ? "; expires=" + expires.toGMTString() : "") +
((path) ? "; path=" + path : "") +
((domain) ? "; domain=" + domain : "") +
((secure) ? "; secure" : "")
}
при вызове функции cookie нормально создаются, но прикрепляются только к mysite.com/cat1, и в mysite.com/cat2 их уже нет. Как сделать чтобы куки имели путь mysite.com а не подкаталога? |
В path указывать "/".
|
А я указывал. Но без результата.
Просто когда я задаю параметр path = / то кука (имя: name; значение: 23) имеет вид: cat1 name: 23/ Без параметра path кука выглядит просто cat1 name: 23 И мне не нужно чтобы к 23 что-то добавлялось. Как сделать чтобы путь cat1 перед name не прописывался? Потому что в каждом каталоге куки прописываются свои: cat1 name: 23 cat2 name: 0 cat3 name: 23 А мне нужна одна кука для всего сайта с именем name и значением 23. Помогите пожалуйста! |
Как у вас устанавливаются куки, отпостите вызовы функции.
Если переменная называется "name", то перед ней ничего не должно быть. |
Сам javascript:
<SCRIPT LANGUAGE="JavaScript">
function readCookie(name) {
var xname = name + "="
var xlen = xname.length
var clen = document.cookie.length
var i = 0
while(i < clen){
var j = i + xlen
if (document.cookie.substring(i, j) == xname)
return getCookieVal(j)
i = document.cookie.indexOf(" ",1) + 1
if (i == 0) break
}
return null
}
function getCookieVal(n){
var endstr = document.cookie.indexOf(";", n)
if (endstr == -1)
endstr = document.cookie.length
return unescape(document.cookie.substring(n, endstr))
}
function writeCookie(name, value, expires, path, domain, secure) {
document.cookie =
name +"=" + escape(value) +
((expires) ? "; expires=" + expires.toGMTString() : "") +
((path) ? "; path=" + path : "") +
((domain) ? "; domain=" + domain : "") +
((secure) ? "; secure" : "")
}
</SCRIPT>
Код вызыва функции:
<a href="#" onclick="writeCookie('name', '23'); show1(); return false;">Есть</a>
show1(); return false; - это еще из другого скрипта выполняется. |
writeCookie('name', '23','','\/');
|
Урра! Получилось при таком вареанте:
onclick="setCookie('name', '23', '','/', 'mysite.com',''); ВСЕМ СПАСИБО ЗА ПОМОЩЬ! |
| Часовой пояс GMT +3, время: 23:02. |