Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Удаляется кука после закрытия браузера
 
 автор: asker   (10.12.2012 в 22:25)   письмо автору
 
 

задача, при нажатии пользователем на любую ссылку открыть в соседнем окне инструкцию, после нажатия на ссылку убрать это событие на 24 часа. Решил задачу так, после клика на ссылку пользователю устанавливается Cookie c сроком дейтсвия 24 часа те при последуюших кликах просто проверяю есть ли данная кука и если есть то попап с инструкцией не активируется. Хранить информацию в бд или файлах не вариант тк инструкция показывается не зарегистрированным пользователям.

if(!existsCookie('exoclickPopunder')) {
$('a').each(function () {
$(this).bind( 'click', popunderActivator);
});
}
function popunderActivator() {
//set cookie to disable popunder in future
setCookie('exoclickPopunder', '1', TimeAfter(1,0,0), '/', 'mysite.com');
$(this).attr('target', '_blank');

//execute instruction popunder
exoInstructionPop();

$('a').each(function () {
$(this).unbind('click', popunderActivator );
});
}

//set cookie with params
function setCookie(name, value, exp, pth, dmn, sec)
{
document.cookie = name + '=' + escape(value)
+ ((exp)? '; expires=' + exp : '')
+ ((pth)? '; path=' + pth : '')
+ ((dmn)? '; domain=' + dmn : '')
+ ((sec)? '; secure' : '');
}

//get time in correct format to set cookie
function TimeAfter(d,h,m)
{
// return time after d days h hours m minutes
var now = new Date(),
nowMS = now.getTime(), // time in milliseconds
newMS = ((d*24 + h)*60 + m)*60*1000 + nowMS;
now.setTime(newMS); // new time in milliseconds
return now.toGMTString();
}


Все работает но только до закрытия браузера, несмотря что срок жизни куки ставлю 24 часа, если закрыть, открыть браузер и заново зайти на сайт, то Cookie уже нет. Проверял под Firefox + firebug. Что странно, что и если с помошью firebug поставить куку с сроком жизни например час, то опять после закрытия/открытия окна браузера, куки не будет.

в чем может быть проблема и как ее исправить ? или кто может предложить вариант решения получше ?

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования