Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.07.2015, 11:13
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

session как узнать, что сессия начата новая?
Решил сделать javascript сессию:

Firefox 39 при закрытии не удаляет куку установленную без expires в document.cookie;

sessionStorage в ff просто неубиваемый, после перезагрузки, если пользователь не открыл другую вкладку получаем данные предыдущей сессии.

Chrome вообще куки не удаляет сессионные, я так понял у него и механизм этот выпилили на всякий случай.

Вопрос такой: как узнать, что сессия начата новая?

С вечными сессиями всё понятно, просто ставим вечную куку, но не могу понять, как поставить временную, которая бы убивалась при закрытии браузера?

В браузерах есть какой-нибудь стандартный механизм или для каждого нужно придумывать свой велосипед с треугольными колесами?
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.

Последний раз редактировалось Gozar, 07.07.2015 в 11:15.
Ответить с цитированием
  #2 (permalink)  
Старый 07.07.2015, 17:35
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Вариант:,
1. На страницах, в хидере, - проставленная сервером переменная RequestTime (Гринвич-время отдачи страницы сервером)
2. Если ячейка в Storage, забитая под признак начала сессии пустая, - ставим дату отдачи страницы, - при закрытии страницы(вкладки) - время текущей страницы очищаем из ячейки. Даты одновременно открытых страниц ставим через запятую и очищаем (при закрытии вкладки) только дату текущей страницы
Плюсы - если при фокусе на вкладку перезаписывать время текущей страницы в конец списка, - всегда знаем последне активную вкладку(для уведомлений и уведомлений на "Ухе" последней вкладки). Возможность запуска синхронных скриптов на юзерах(к примеру с 9:00 в понедельник) или отсчета длинных интервалов. Типично в хидере есть еще и переменная тайм-зоны.

Последний раз редактировалось Deff, 07.07.2015 в 18:54.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как узнать, что содержит onClick? PHPNoob Events/DOM/Window 3 17.07.2015 12:20
Как можно узнать что value в INPUT изменилось? moskrc jQuery 2 22.10.2010 09:06
Как узнать о том, что флэш уже загрузился. Snipe Общие вопросы Javascript 4 29.01.2009 11:21
Как узнать, что IFRAME загрузился? DeUre Общие вопросы Javascript 4 01.08.2008 14:09
Как узнать что находится в <label></label> duke_nu Events/DOM/Window 4 22.04.2008 21:53