Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.12.2012, 16:11
Аспирант
Отправить личное сообщение для zevilz Посмотреть профиль Найти все сообщения от zevilz
 
Регистрация: 24.05.2012
Сообщений: 93

Проблема с кукисами
При нахождении на любой странице сайта через 40 секунд появляется окно подписки. При нажатии кнопки 'закрыть' окно подписки появится только через сутки. При нажатии кнопки подтверждения подписки окно появится только через 9999*9999*9999 мкс
$(document).delay(40000).queue(function() {
	if (!getcookie("SUBSCR")) {
		$('#subscribeOverlay').fadeIn("slow");
		$('#subscribeWindow').fadeIn("slow");

		$('#subscribeWindowClose').click(function(){
			$('#subscribeOverlay').fadeOut("slow");
			$('#subscribeWindow').fadeOut("slow");
			setcookie( "SUBSCR", "1" , 3600*24*1000);
		});
		$('#subscr_submit').click(function(){
			$('#subscribeOverlay').fadeOut("slow");
			$('#subscribeWindow').fadeOut("slow");
			setcookie( "SUBSCR", "2" , 9999*9999*9999);
		});
	}
});
function setcookie(a,b,c) {if(c){var d = new Date();d.setTime(d.getTime()+c);}if(a && b) document.cookie = a+'='+b+(c ? '; expires='+d.toUTCString() : '');else return false;}
function getcookie(a) {var b = new RegExp(a+'=([^;]){1,}');var c = b.exec(document.cookie);if(c) c = c[0].split('=');else return false;return c[1] ? c[1] : false;}


Но проблема в том, что запись в куки создается для каждой страницы.
Код:
Имя:	SUBSCR
Содержание:	1
Домен:	site.net
Путь:	    /faq
Отправить:	Любой тип соединения
Доступный для скрипта:	Да
Создано:	среда, 12 декабря 2012 г. 19:34:26
Срок действия истекает:	четверг, 13 декабря 2012 г. 19:34:26
Код:
Имя:	SUBSCR
Содержание:	1
Домен:	site.net
Путь:  	/search
Отправить:	Любой тип соединения
Доступный для скрипта:	Да
Создано:	среда, 12 декабря 2012 г. 19:48:20
Срок действия истекает:	четверг, 13 декабря 2012 г. 19:48:20
При закрытии окна на одной странице на другой она опять вылезает через 40 секунд. При закрытии нового окна добавляется новая запись в куки. Раньше такого не было, создавалась только одна запись в куки для всех страниц сайта, а сейчас не пойму что произошло. Мож я где накосячил?
Ответить с цитированием
  #2 (permalink)  
Старый 12.12.2012, 16:27
Интересующийся
Отправить личное сообщение для Dremlin Посмотреть профиль Найти все сообщения от Dremlin
 
Регистрация: 18.08.2012
Сообщений: 26

Под отладчиком браузера пробовали смотреть, может быть ошибку покажет?!
Ответить с цитированием
  #3 (permalink)  
Старый 12.12.2012, 16:36
Интересующийся
Отправить личное сообщение для Dremlin Посмотреть профиль Найти все сообщения от Dremlin
 
Регистрация: 18.08.2012
Сообщений: 26

Сходу просмотрев код, подозрительным кажется строчка
return c[1] ? c[1] : false;
Ответить с цитированием
  #4 (permalink)  
Старый 12.12.2012, 16:39
Аспирант
Отправить личное сообщение для zevilz Посмотреть профиль Найти все сообщения от zevilz
 
Регистрация: 24.05.2012
Сообщений: 93

Ошибок нет. При закрытии окна на главной пишется в куки путь /. Окно больше не появляется на других страницах. Раньше при закрытии окна на любой странице путь был /
Ответить с цитированием
  #5 (permalink)  
Старый 12.12.2012, 16:48
Аспирант
Отправить личное сообщение для zevilz Посмотреть профиль Найти все сообщения от zevilz
 
Регистрация: 24.05.2012
Сообщений: 93

а как прописать путь при добавлении в куки?
Ответить с цитированием
  #6 (permalink)  
Старый 12.12.2012, 16:52
Интересующийся
Отправить личное сообщение для Dremlin Посмотреть профиль Найти все сообщения от Dremlin
 
Регистрация: 18.08.2012
Сообщений: 26

document.cookie="foo=bar; path=/; expires=Mon, 01-Jan-2001 00:00:00 GMT";

Как то так
Ответить с цитированием
  #7 (permalink)  
Старый 12.12.2012, 16:55
Интересующийся
Отправить личное сообщение для Dremlin Посмотреть профиль Найти все сообщения от Dremlin
 
Регистрация: 18.08.2012
Сообщений: 26

Где / корневой каталог
Ответить с цитированием
  #8 (permalink)  
Старый 12.12.2012, 16:56
Интересующийся
Отправить личное сообщение для Dremlin Посмотреть профиль Найти все сообщения от Dremlin
 
Регистрация: 18.08.2012
Сообщений: 26

Цитата:
Путь установки

"path=/" — этим параметром задается путь (каталог), для которого действительна кука. Сейчас path имеет значение "/", это ничто иное, как корневой каталог, поэтому кука будет доступна для чтения абсолютно всем каталогам сайта. В случае если доступ к куке должен быть ограничен, то параметр path просто не указываем или указываем в нем общий родительский каталог, и кука будет установлена для конкретного каталога, но специфика такова, что кука будет доступна всем его подкаталогам, в то же время — не видна смежным и родительским каталогам.

Для чего это? Представим элементарную ситуацию: интернет-кафе, сначала пришел пользователь Вася, поработал со своей страницей в соцсети, а после него пришел Петя и, на том же компьютере, в той же сети, поработал со своей страницей. Страницы участников находятся в одном домене, но лежат, как правило, в смежных каталогах. К примеру: страница Васи — http://socset.com/vasya, страница Пети — http://socset.com/petya. Можно представить, какой будет хаос, если куки будут устанавливаться в корневой каталог: Вася сможет оперировать куками Пети и наоборот. Я думаю ни одному, ни другому такой вариант не понравится. Поэтому, в данном случае, будет уместно, если куки будут привязаны только к каталогу конкретного пользователя, следовательно, ко всем его подкаталогам.
Взял с сайта:
http://www.xiper.net/learn/javascrip...n-cookies.html
Ответить с цитированием
  #9 (permalink)  
Старый 12.12.2012, 17:17
Аспирант
Отправить личное сообщение для zevilz Посмотреть профиль Найти все сообщения от zevilz
 
Регистрация: 24.05.2012
Сообщений: 93

Спасибо большое, помогло.
function setcookie(a,b,c) {if(c){var d = new Date();d.setTime(d.getTime()+c);}if(a && b) document.cookie = a+'='+b+(c ? '; expires='+d.toUTCString()+'; path=/' : '');else return false;}

Сейчас хоть разобрался в этой функции)
Ответить с цитированием
  #10 (permalink)  
Старый 12.12.2012, 17:30
Интересующийся
Отправить личное сообщение для Dremlin Посмотреть профиль Найти все сообщения от Dremlin
 
Регистрация: 18.08.2012
Сообщений: 26

JavaScript порой такие потёмки
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с обработкой ескольких .hover() anocean jQuery 3 15.06.2012 21:43
Проблема с Popup окном vovuslik jQuery 5 12.06.2010 15:12
Проблема с CSS COKOJIOB (X)HTML/CSS 5 04.08.2009 13:19
Проблема, в менюшке Большой джо Элементы интерфейса 0 12.07.2009 16:12
Проблема спама lliberty AJAX и COMET 1 12.03.2009 15:47