Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.03.2009, 14:58
Интересующийся
Отправить личное сообщение для grefon Посмотреть профиль Найти все сообщения от grefon
 
Регистрация: 17.03.2009
Сообщений: 12

Установка 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 а не подкаталога?

Последний раз редактировалось Андрей Параничев, 17.03.2009 в 15:17. Причина: Пользуйтесь bb-тегами [js] и [html] для оформления листингов кода в теле сообщения
Ответить с цитированием
  #2 (permalink)  
Старый 17.03.2009, 15:19
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

В path указывать "/".
Ответить с цитированием
  #3 (permalink)  
Старый 17.03.2009, 15:26
Интересующийся
Отправить личное сообщение для grefon Посмотреть профиль Найти все сообщения от grefon
 
Регистрация: 17.03.2009
Сообщений: 12

А я указывал. Но без результата.
Просто когда я задаю параметр path = / то кука (имя: name; значение: 23) имеет вид:
cat1 name: 23/

Без параметра path кука выглядит просто cat1 name: 23
И мне не нужно чтобы к 23 что-то добавлялось.
Как сделать чтобы путь cat1 перед name не прописывался?

Потому что в каждом каталоге куки прописываются свои:
cat1 name: 23
cat2 name: 0
cat3 name: 23

А мне нужна одна кука для всего сайта с именем name и значением 23.

Помогите пожалуйста!
Ответить с цитированием
  #4 (permalink)  
Старый 17.03.2009, 15:50
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

Как у вас устанавливаются куки, отпостите вызовы функции.
Если переменная называется "name", то перед ней ничего не должно быть.
Ответить с цитированием
  #5 (permalink)  
Старый 17.03.2009, 16:01
Интересующийся
Отправить личное сообщение для grefon Посмотреть профиль Найти все сообщения от grefon
 
Регистрация: 17.03.2009
Сообщений: 12

Сам 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; - это еще из другого скрипта выполняется.

Последний раз редактировалось grefon, 17.03.2009 в 16:06.
Ответить с цитированием
  #6 (permalink)  
Старый 17.03.2009, 16:52
Флудер
Отправить личное сообщение для ZoNT Посмотреть профиль Найти все сообщения от ZoNT
 
Регистрация: 25.07.2008
Сообщений: 1,271

writeCookie('name', '23','','\/');
Ответить с цитированием
  #7 (permalink)  
Старый 18.03.2009, 01:33
Интересующийся
Отправить личное сообщение для grefon Посмотреть профиль Найти все сообщения от grefon
 
Регистрация: 17.03.2009
Сообщений: 12

Урра! Получилось при таком вареанте:
onclick="setCookie('name', '23', '','/', 'mysite.com','');

ВСЕМ СПАСИБО ЗА ПОМОЩЬ!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск