Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Куки => запомнить на время сессии (https://javascript.ru/forum/events/44923-kuki-%3D-zapomnit-na-vremya-sessii.html)

cccp.world 06.02.2014 19:48

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

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

Неоднократно и без устали пытался написать такой код используя примеры в интернете. В итоге не понял подходит ли COOKIE для таких задач?

danik.js 06.02.2014 19:55

sessionStorage

cccp.world 06.02.2014 20:04

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

danik.js 06.02.2014 20:15

cccp.world, если закрыть сайт и открыть вновь, действие вновь выполнится?

cccp.world 06.02.2014 20:20

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

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

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

danik.js 06.02.2014 20:36

Цитата:

Сообщение от cccp.world
Значит действие выполниться.

Ок. Сам с куками не дружу. Есть более удобный способ:

var visited = sessionStorage.visited;
if (visited){
  console.log('Действие уже выполнялось, и не возобновиться до начала следующей сессии');
} else {
  console.log('Одноразовое действие');
  sessionStorage.visited = true;
}

cccp.world 06.02.2014 20:50

Если я все правильно понял ознакомишись с введением sessionStorage по адрессу http://www.nczonline.net/blog/2009/0...essionstorage/. То это расширенная возможность управления сессией на стороне клиента, присущая лишь браузерам с HTML5?

danik.js 06.02.2014 20:52

Это локальное хранилище, ограниченное по времени длительностью сессии. То есть это тот же самый localStorage, но не такой живучий.

cccp.world 06.02.2014 20:57

Хорошо, завтра буду пробывать. Как попробую отпишусь и если все получиться то, поделюсь ссылкой на ресурс.

danik.js 06.02.2014 21:12

Цитата:

Сообщение от cccp.world
присущая лишь браузерам с HTML5?

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


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