Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   PopUp как выполнить код один раз для сессии (https://javascript.ru/forum/events/54067-popup-kak-vypolnit-kod-odin-raz-dlya-sessii.html)

kznsky 02.03.2015 16:37

PopUp как выполнить код один раз для сессии
 
Пробую сделать свое PopUp окно.

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

Думаю надо писать что то в куки... Но не знаю как писать и что.
Подскажите где хранить данные о том что пользователю уже показывалось окно?

ksa 02.03.2015 16:49

Цитата:

Сообщение от kznsky
где хранить данные о том что пользователю уже показывалось окно?

В локальном хранилище... ;)
http://htmlbook.ru/html5/storage
http://web.izjum.com/javascript-localstorage

kznsky 02.03.2015 17:10

Сделал с локальным хранилищем.
Если использовать sessionStorage, то даже при открытии ссылки сайта в новой вкладке переменная уничтожается и окно показывается. Если же использовать localStorage, то даже при закрытии окна браузера значение переменной сохраняется.

Все равно не тот эффект получается.

Может как то писать, а потом считывать из localStorage идентификатор сессии и если он не совпадает с текущим показывать окно?

Только можно ли получить идентификатор сессии на JS?

ksa 02.03.2015 18:59

Цитата:

Сообщение от kznsky
Все равно не тот эффект получается.

Так ты придумай как тебе определить, тот ли это заход или уже другой...

Или отрабатывай закрытие окна...

laimas 03.03.2015 03:09

Только можно ли получить идентификатор сессии на JS?

Его можно передать клиенту. Но лучше проверять в текущей сессии наличие признака - нет, значит исполняем, есть значит нет.

BETEPAH 03.03.2015 13:48

http://javascript.ru/unsorted/top-10...e-deletecookie
Цитата:

Если expires отсутствует или равно 0, то cookie будет установлено как сессионное и исчезнет при закрытии браузера.


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