Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.05.2015, 20:38
Аспирант
Отправить личное сообщение для Clodan Посмотреть профиль Найти все сообщения от Clodan
 
Регистрация: 04.01.2013
Сообщений: 33

Очищение куков по событию .onbeforeunload
Здравствуйте!

Есть скрипт который выводит всплывающее облако на сайте в зависимости от куков, то есть если человек не был сайте, выводится скрытый контент, если уже был, то ничего не происходит, вот собственно сам скрипт...
$(document).ready(function(){
    var pp     = $("#pp"),
        bg     = $("#oval-thought-border");

    function pp_show(pp ){
       setTimeout(function(){bg.fadeIn(1000);},5000), setTimeout(function(){bg.fadeOut(1000);},15000);
    }

    if ( $.cookie('visit') == undefined ){
        $.cookie('visit', true);
        pp_show(pp, bg);
    } 
});


Однако нужно реализовать очистку куков по событию ".onbeforeunload", то есть чтобы при закрытии сайта запись в куках исчезала и при повтором посещении сайта, информация снова появлялась. В конечном итоге, должна получиться следующая структура: человек заходит на любую страницу сайта и через 5 секунд всплывает облако "#oval-thought-border", далее при переходе между страницами сайта, ничего не должно выполняться, а вот после закрытия страницы и повторного ее открытия, все бы начиналось сначала.

Ссылка на сайт: http://3dm2.ru
Речь идет об облаке с предоставлением скидки в правом верхнем углу.

Обладаю минимальными знаниями в java, поэтому сам решить задачу не могу, поиск толком ничего не дал. Буду рад любой помощи, заранее спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 24.05.2015, 20:44
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Сообщение от Clodan
а вот после закрытия страницы
Вы верите в жизнь скрипта после смерти документа? Короче, ее там нет. Убить куки можно либо сразу, то есть бефоре унлоад, либо нельзя.

То есть юзер жмет обновить или закрыть - куки убиваются, а потом ему задают вопросы - хотите уйти?
Ответить с цитированием
  #3 (permalink)  
Старый 24.05.2015, 20:47
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Вам надо фазу поменять.

Сообщение от Clodan
о есть чтобы при закрытии сайта запись в куках исчезала и при повтором посещении сайта, информация снова появлялась.

Просто сделайте куки на время сессии и все. При следующем заходе они будут не валидные и браузер их убьет. Такие куки сделаются если в их время жизни записать пусто.
Ответить с цитированием
  #4 (permalink)  
Старый 24.05.2015, 20:53
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Сообщение от Clodan
и через 5 секунд всплывает облако
Сделайте так, чтобы оно выплывало сразу. Не надо оттягиваться на юзерах. Чел зашел, с первых секунд подумал что ему уже ничего не грозит, привык уже и вдруг хренакс какая-то хренатель вылезает, ебалайтен это все.

Вопрос риторический - уеб-дизайнеры вообще знают как устроен интернет и сколько там сайтов и какие они? Или они только про те сайты знают, какие наваяли?
Ответить с цитированием
  #5 (permalink)  
Старый 24.05.2015, 20:55
Аспирант
Отправить личное сообщение для Clodan Посмотреть профиль Найти все сообщения от Clodan
 
Регистрация: 04.01.2013
Сообщений: 33

Сообщение от kostyanet Посмотреть сообщение
Вы верите в жизнь скрипта после смерти документа? Короче, ее там нет. Убить куки можно либо сразу, то есть бефоре унлоад, либо нельзя.

То есть юзер жмет обновить или закрыть - куки убиваются, а потом ему задают вопросы - хотите уйти?
Я не верю в работу скрипта после закрытия страницы, мне как-раз и надо убить куки при "обновить или закрыть" страницу, чтобы всплывающий блок снова отображался. Возможно я не правильно выразился, извините.
Ответить с цитированием
  #6 (permalink)  
Старый 24.05.2015, 21:02
Аспирант
Отправить личное сообщение для Clodan Посмотреть профиль Найти все сообщения от Clodan
 
Регистрация: 04.01.2013
Сообщений: 33

Сообщение от kostyanet Посмотреть сообщение
Вам надо фазу поменять.

Просто сделайте куки на время сессии и все. При следующем заходе они будут не валидные и браузер их убьет. Такие куки сделаются если в их время жизни записать пусто.
Подскажите как сделать куки с сохранением на время сессии? И еще вопрос, не будет ли в таком случае переход по внутренним страницам сайта считаться обрывом сессии? Что приведет к тому, что блок будет постоянно всплывать при переходе по страницам сайта. Если можно, укажите код, так как навыков у меня мало.
Ответить с цитированием
  #7 (permalink)  
Старый 24.05.2015, 21:06
Аспирант
Отправить личное сообщение для Clodan Посмотреть профиль Найти все сообщения от Clodan
 
Регистрация: 04.01.2013
Сообщений: 33

Сообщение от kostyanet Посмотреть сообщение
Сделайте так, чтобы оно выплывало сразу. Не надо оттягиваться на юзерах. Чел зашел, с первых секунд подумал что ему уже ничего не грозит, привык уже и вдруг хренакс какая-то хренатель вылезает, ебалайтен это все.

Вопрос риторический - уеб-дизайнеры вообще знают как устроен интернет и сколько там сайтов и какие они? Или они только про те сайты знают, какие наваяли?
Время в 5 секунд это просто тестовое решение, я делаю не для своего сайта, поэтому решающим будет слово заказчика. А насчет того, как люди относятся к всплывающим блокам, спасибо я и так знаю.
Ответить с цитированием
  #8 (permalink)  
Старый 26.05.2015, 17:25
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Я же написал - надо туда пусто вписать, или 0, в expires, само собой.

Однако сессия убивается когда закрывается процесс, то есть thread в списке процессов, а не когда покинут ваш сайт. То есть нужно закрыть именно браузер - все его окна и оконца чтобы сдохли все односессионные куки.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
По событию onmouseover задваевается онимация strengerst Events/DOM/Window 6 31.12.2012 16:27
Ошибка при добавлении обработчика к событию Riim Events/DOM/Window 32 19.01.2010 14:17