Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Куки не запоминает (https://javascript.ru/forum/misc/38429-kuki-ne-zapominaet.html)

FredIkO 01.06.2013 15:05

Куки не запоминает
 
Добрый день помогите разобраться почему куки не запоминает расположение

<div class="view_1" onclick="iseed2()"><a href="javascript:;">Вид первый</a></div> 
<div class="view_2" onclick="iseed1()"><a href="javascript:;">Вид второй</a></div>


<div class="type_1">Информация 1</div> 
<div class="type_2">Информация 2</div>


Куки
function setCookie(name, value, expiredays, path, domain, secure) {
   if (expiredays) {
      var exdate=new Date();
      exdate.setDate(exdate.getDate()+expiredays);
      var expires = exdate.toGMTString();
   }
   document.cookie = name + "=" + escape(value) +
   ((expiredays) ? "; expires=" + expires : "") +
   ((path) ? "; path=" + path : "") +
   ((domain) ? "; domain=" + domain : "") +
   ((secure) ? "; secure" : "");
}

function getCookie(name) {
	var cookie = " " + document.cookie;
	var search = " " + name + "=";
	var setStr = null;
	var offset = 0;
	var end = 0;
	if (cookie.length > 0) {
		offset = cookie.indexOf(search);
		if (offset != -1) {
			offset += search.length;
			end = cookie.indexOf(";", offset)
			if (end == -1) {
				end = cookie.length;
			}
			setStr = unescape(cookie.substring(offset, end));
		}
	}
	return(setStr);
}

function deleteCookie(nameCo) 
{
var exp3 = new Date();
exp3.setTime (exp3.getTime() - 1000000000);
var cval = getCookie(nameCo);
document.cookie = nameCo + "=" + cval + "; expires=" + exp.toGMTString();
}


Плавное появление
function iseed1() { 
$('.view_2').fadeOut(400, function(){$('.view_1').fadeIn(400)}); 
$('.type_2').fadeOut(400, function(){$('.type_1').fadeIn(400)}); 
setCookie('presee', '0', 1, '/')} 
function iseed2() { 
$('.view_1').fadeOut(400, function(){$('.view_2').fadeIn(400)}); $('.type_1').fadeOut(400, function(){$('.type_2').fadeIn(400)}); setCookie('presee', '1', 1, '/') 
} 
var presee = getCookie("presee") 
if (presee=='0') { 
$('.type_1').show(); 
$('.type_2').hide(); $('.view_1').show(); 
$('.view_2').hide(); 
}

Deff 01.06.2013 15:14

FredIkO,
может ссылки в разных подпапках ?
Тогда:
09 ((path) ? "; path=" + path : "/") +
=====================
Или вот готовая библиотека:
function setCookie(a,b,c) {if(c){var d = new Date();d.setTime(d.getTime()+c);}if(a && b) document.cookie = a+'='+b+';path=/'+(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;}


Поправил имена под Ваши

FredIkO 01.06.2013 15:21

Deff,
извини за глуппый вопрос а куда именно заменить

Deff 01.06.2013 15:25

Цитата:

Сообщение от FredIkO
извини за глуппый вопрос а куда именно заменить

Я номер строки жа выдал 09

FredIkO 01.06.2013 15:29

Deff,
заменил первый и второй вариант не сработали

Deff 01.06.2013 15:33

FredIkO,
setCookie('presee', '1', 1, '/')
наверно при замененном тады так
Цитата:

setCookie('presee', '1')
единица синим - время хранения - 1миллисекунда(в библе, что я дал) - лучше вообще не ставить - будет до конца сессии
либо ставить нужное время(наверно минимум секунды - минуты 1000 или 60000

FredIkO 01.06.2013 15:40

Deff,
по пробывал все по прежнему

setCookie('presee', 60000, '1')

Deff 01.06.2013 15:41

1. Исправил в новой библе имена
2. setCookie('presee', '1', 60000)

FredIkO 01.06.2013 15:46

Deff,
можно вопрос а у вас запоминает??
по пробывал все также((

Deff 01.06.2013 15:49

function setCookie(a,b,c) {if(c){var d = new Date();d.setTime(d.getTime()+c);}if(a && b) document.cookie = a+'='+b+';path=/'+(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;}
setCookie('presee', 'adfsdfsdfsdfsdfdsfdsfsdfsdfsdfsdfsdfsdfsdf')
alert("Записано")


function setCookie(a,b,c) {if(c){var d = new Date();d.setTime(d.getTime()+c);}if(a && b) document.cookie = a+'='+b+';path=/'+(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;}
alert('Считываю:\n'+getCookie('presee'))


Запускаем


Часовой пояс GMT +3, время: 01:42.