Модераторы: Sardar, Aliance

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> запись в cookie на javascrip, как записать вызов функции в cookie 
:(
    Опции темы
Cheizer
Дата 3.4.2011, 13:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 89
Регистрация: 28.1.2011

Репутация: нет
Всего: нет



Здравствуйте! Помогите разобраться с такой темой, как записать информацию в куки пользователя с помощью javascript?

А ситуация следующая:
есть функция вызова по времени (setTimeout + Trigger) модульного окна (fancybox) на сайте (например человек зашел на сайт и через пять секунд вылетает модульное окно с информацией), и что бы нее показывать окно два раза одному пользователю в течении одного дня, я решил записывать в куки по времени, но недостаточно знаний к сожалению, накопал где то такой код, делает то что мне нужно, но не могу разобраться в нем: 

Код

var timesRemain = 1 - 1;
    document.cookie="startSessionTimes="+timesRemain+"; path=/;";
    document.cookie="start=1301238541; path=/; expires=Mon, 26 Mar 2012 15:09:01 GMT;";




//а ниже пример с функцией:

Код

function start() {
    jQuery("#id_a").trigger("click");


//вот этот код который должен записывать в куки
var timesRemain = 1 - 1;
    document.cookie="startSessionTimes="+timesRemain+"; path=/;";
    document.cookie="start=1301238541; path=/; expires=Mon, 26 Mar 2012 15:09:01 GMT;";


}
$(document).ready(function(){
   //вызов окна
    });
    setTimeout(start, 5000);
});


ребята, подскажите у кого был подобный опыт, как реализовать это?

Это сообщение отредактировал(а) Cheizer - 3.4.2011, 14:02
PM MAIL   Вверх
нуп
Дата 3.4.2011, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ботокодер
**


Профиль
Группа: Участник
Сообщений: 987
Регистрация: 22.6.2009
Где: Кременчуг

Репутация: 13
Всего: 33



PM MAIL   Вверх
Cheizer
Дата 3.4.2011, 18:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 89
Регистрация: 28.1.2011

Репутация: нет
Всего: нет



Цитата(нуп @ 3.4.2011,  16:05)
http://www.elated.com/articles/javascript-and-cookies/

Спасибо за информацию, но все же я не до конца понял значения, в expires я так понял должно быть date? А что тогда содержит start=1301238541 , что это за цифры? И как подскажите это все позволит не вызывать окно если обновить страницу снова через 5 секунд?

Код

function start() {
    jQuery("#id_a").trigger("click");
//вот этот код который должен записывать в куки
var timesRemain = 1 - 1;
    document.cookie="startSessionTimes="+timesRemain+"; path=/;";
    document.cookie="start=1301238541; path=/; expires=date;";
}
$(document).ready(function(){
   //вызов окна
    });
    setTimeout(start, 5000);
});

PM MAIL   Вверх
нуп
Дата 3.4.2011, 18:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ботокодер
**


Профиль
Группа: Участник
Сообщений: 987
Регистрация: 22.6.2009
Где: Кременчуг

Репутация: 13
Всего: 33



поставь куку на день, и проверяй функцией если нету куки, то показывай окно.  smile 
PM MAIL   Вверх
нуп
Дата 3.4.2011, 19:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ботокодер
**


Профиль
Группа: Участник
Сообщений: 987
Регистрация: 22.6.2009
Где: Кременчуг

Репутация: 13
Всего: 33



Цитата(Cheizer @  3.4.2011,  18:42 Найти цитируемый пост)
в expires я так понял должно быть date

да

Цитата(Cheizer @  3.4.2011,  18:42 Найти цитируемый пост)
А что тогда содержит start=1301238541 , что это за цифры? 

наверное дата переведена в секунды
Цитата(Cheizer @  3.4.2011,  18:42 Найти цитируемый пост)
 И как подскажите это все позволит не вызывать окно если обновить страницу снова через 5 секунд?

проверить куку
PM MAIL   Вверх
Cheizer
Дата 3.4.2011, 21:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 89
Регистрация: 28.1.2011

Репутация: нет
Всего: нет



Цитата(нуп @ 3.4.2011,  18:55)
поставь куку на день, и проверяй функцией если нету куки, то показывай окно.  smile

как поставить куку на день? smile 

Приведите пример пожалуйста.

И зачем дата в секунды переведена? 
И непонятно значение timesRemain = 1 - 1;
PM MAIL   Вверх
нуп
Дата 3.4.2011, 21:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ботокодер
**


Профиль
Группа: Участник
Сообщений: 987
Регистрация: 22.6.2009
Где: Кременчуг

Репутация: 13
Всего: 33



Код

function set_cookie ( name, value, date )
{
  var cookie_string = name + "=" + escape ( value );

  if ( date )
  {
    cookie_string += "; expires=" + date;
  }
  
  document.cookie = cookie_string;
}
var now= new Date()
 var expireDate= new Date()
 expireDate.setTime(now.getTime() + 60*60*24*365*1000);
   
set_cookie("name", "value", expireDate);


PM MAIL   Вверх
Cheizer
Дата 4.4.2011, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 89
Регистрация: 28.1.2011

Репутация: нет
Всего: нет



А подскажите многоуважаемый "нуп" smile  а как сделать так, что бы при вызове окна когда пользователь зашел на страницу, куки записывали на три часа например, и если в течении трех часов обновить, то окно не вызовется через 5 секунд снова, а по истечении трех часов, опять если пользователь обновит старничку, опять окно запустится через 5 секунд. 
Как вот на три часа поставить кукис? И в каком месте сделать проверку на это? Плиз подскажите...
PM MAIL   Вверх
Котокобра
Дата 4.4.2011, 17:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 26.11.2009

Репутация: нет
Всего: 4



Cheizer, в приведенном коде, вместо 

Код

60*60*24*365*1000

(1000 лет) поставь столько, сколько тебе нужно в секундах  smile 
PM MAIL   Вверх
Cheizer
Дата 4.4.2011, 18:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 89
Регистрация: 28.1.2011

Репутация: нет
Всего: нет



Цитата(Котокобра @ 4.4.2011,  17:06)
Cheizer, в приведенном коде, вместо 

Код

60*60*24*365*1000

(1000 лет) поставь столько, сколько тебе нужно в секундах  smile

smile вот спасибо, но место для проверки, что бы запускать окно или нет, в какое место то вставить проверку по моему коду?
PM MAIL   Вверх
Котокобра
Дата 4.4.2011, 19:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 26.11.2009

Репутация: нет
Всего: 4



рабочий код. думаю, где расположить функцию вызова попапа, догадаешься  smile 


Код

<html>
<head>
</head>

<body>


<script>

var cookieName = 'check';
var cookieValue = 'true';
var сookieExist = 1000*60; // кука на одну минуту
var checkCookie = document.cookie;

if(checkCookie.indexOf(cookieName)==-1) {

    alert('no cookie');

    var exp = new Date();
    exp.setTime(exp.getTime() + сookieExist);
    document.cookie = cookieName + "=" + cookieValue + "; expires=" + exp.toGMTString();
}
else {

    alert('cookie is "' + checkCookie + '"');

}


</script>

</body>
</html>


Это сообщение отредактировал(а) Котокобра - 4.4.2011, 19:27
PM MAIL   Вверх
нуп
Дата 4.4.2011, 19:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ботокодер
**


Профиль
Группа: Участник
Сообщений: 987
Регистрация: 22.6.2009
Где: Кременчуг

Репутация: 13
Всего: 33



Цитата(Котокобра @  4.4.2011,  17:06 Найти цитируемый пост)
1000 лет) поставь столько, сколько тебе нужно в секундах  smile  


Это на 1 год  smile 
PM MAIL   Вверх
Котокобра
Дата 4.4.2011, 19:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 26.11.2009

Репутация: нет
Всего: 4



да, я уже понял. исправился   smile 
PM MAIL   Вверх
Cheizer
Дата 4.4.2011, 20:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 89
Регистрация: 28.1.2011

Репутация: нет
Всего: нет



Урраааааааа Спасибо вам НУП и Котокобра!!! Все заработала! smile
Низкий поклон!
Код

<script type="text/javascript">
var cookieName = 'check';
var cookieValue = 'true';
var сookieExist = 1000*60; // кука на одну минуту
var checkCookie = document.cookie;
if(checkCookie.indexOf(cookieName)==-1) {

//тут вызов функции модального окна с контентом
function start() {
jQuery("#hidden_a").trigger("click");
}
$(document).ready(function(){
    if ('function' != typeof jQuery.fancybox) return true;
    jQuery("#hidden_a").fancybox({
        'hideOnOverlayClick':false,
        'hideOnContentClick': false,
        'titleShow'  : false
    });
    setTimeout(start, 5000);   //окно вызывается через пять секунд автоматически
});

//устанавливается новое время после вызова окна
    var exp = new Date();
    exp.setTime(exp.getTime() + сookieExist);
    document.cookie = cookieName + "=" + cookieValue + "; expires=" + exp.toGMTString();
}
</script>

Код

<a href="#inline1" style="display:none;" id="hidden_a"></a>
<div style="display: none;">
<div id="inline1" style="width:600px; height:250px; overflow:auto;">
           тут контент
</div>
</div>

надеюсь пригодится еще кому то, прокомментировал надеюсь тоже правильно smile


Это сообщение отредактировал(а) Cheizer - 4.4.2011, 20:29
PM MAIL   Вверх
Котокобра
Дата 4.4.2011, 20:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 26.11.2009

Репутация: нет
Всего: 4



 smile 
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0906 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.