Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.02.2014, 19:48
Интересующийся
Отправить личное сообщение для cccp.world Посмотреть профиль Найти все сообщения от cccp.world
 
Регистрация: 07.09.2013
Сообщений: 22

Куки => запомнить на время сессии
Уважаемые знатаки!

Стоит задача: "Единожды показать некий <div>. В дальнейшем его не показывать пока длится сессия. После закрытия браузера сессия начинаеться снова и весь процесс повторяеться"

Неоднократно и без устали пытался написать такой код используя примеры в интернете. В итоге не понял подходит ли COOKIE для таких задач?
Ответить с цитированием
  #2 (permalink)  
Старый 06.02.2014, 19:55
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

sessionStorage
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 06.02.2014, 20:04
Интересующийся
Отправить личное сообщение для cccp.world Посмотреть профиль Найти все сообщения от cccp.world
 
Регистрация: 07.09.2013
Сообщений: 22

Мой пример:
function lastVisit(){
     $.cookie('visit', '0', {
          path: '/',
     });
     var test = $.cookie('cookie_name');
     if(test == 0){
          console.log('Одноразовое действие');
          test++;
     }
     else{
          console.log('Действие уже выполнялось, и не возобновиться до начала следующей сессии');
     }
}
lastVisit();

Последний раз редактировалось cccp.world, 06.02.2014 в 20:09.
Ответить с цитированием
  #4 (permalink)  
Старый 06.02.2014, 20:15
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

cccp.world, если закрыть сайт и открыть вновь, действие вновь выполнится?
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #5 (permalink)  
Старый 06.02.2014, 20:20
Интересующийся
Отправить личное сообщение для cccp.world Посмотреть профиль Найти все сообщения от cccp.world
 
Регистрация: 07.09.2013
Сообщений: 22

В документации написано, что: "кука будет храниться лишь до тех пор, пока пользователь не закроет браузер" - Значит действие выполниться.

Возможно я некорректно переопределяю переменную test.

Поправте меня

Последний раз редактировалось cccp.world, 06.02.2014 в 20:29.
Ответить с цитированием
  #6 (permalink)  
Старый 06.02.2014, 20:36
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от cccp.world
Значит действие выполниться.
Ок. Сам с куками не дружу. Есть более удобный способ:

var visited = sessionStorage.visited;
if (visited){
  console.log('Действие уже выполнялось, и не возобновиться до начала следующей сессии');
} else {
  console.log('Одноразовое действие');
  sessionStorage.visited = true;
}
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #7 (permalink)  
Старый 06.02.2014, 20:50
Интересующийся
Отправить личное сообщение для cccp.world Посмотреть профиль Найти все сообщения от cccp.world
 
Регистрация: 07.09.2013
Сообщений: 22

Если я все правильно понял ознакомишись с введением sessionStorage по адрессу http://www.nczonline.net/blog/2009/0...essionstorage/. То это расширенная возможность управления сессией на стороне клиента, присущая лишь браузерам с HTML5?
Ответить с цитированием
  #8 (permalink)  
Старый 06.02.2014, 20:52
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Это локальное хранилище, ограниченное по времени длительностью сессии. То есть это тот же самый localStorage, но не такой живучий.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #9 (permalink)  
Старый 06.02.2014, 20:57
Интересующийся
Отправить личное сообщение для cccp.world Посмотреть профиль Найти все сообщения от cccp.world
 
Регистрация: 07.09.2013
Сообщений: 22

Хорошо, завтра буду пробывать. Как попробую отпишусь и если все получиться то, поделюсь ссылкой на ресурс.
Ответить с цитированием
  #10 (permalink)  
Старый 06.02.2014, 21:12
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от cccp.world
присущая лишь браузерам с HTML5?
А разве IE8, поддерживающий sessionStorage, поддерживает HTML5?
И вобще, ты так говоришь ("лишь"), будто их мало. На самом деле врядли хоть кто-то из твоих посетителей зайдет с браузера без поддержки sessionStorage.
__________________
В личку только с интересными предложениями
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
куки и сессии Faab Общие вопросы Javascript 6 06.11.2013 02:03
Position fixed, но динамический по оси ОХ tvixa Элементы интерфейса 4 09.09.2013 15:39
Помогите с кодом сохранения параметром CheckBox-ов в куки Konstantine jQuery 0 26.05.2012 16:20
Одно событие во всех окнах одного домена kdn1990 Events/DOM/Window 18 25.04.2012 20:11
ссылки получали стиль "visited" только на время сессии alexandr_poskrobka Серверные языки и технологии 7 10.03.2010 08:48