Как мне проверить в JavaScript, является ли сеанс новым?

#javascript #http #session

#javascript #http #сеанс

Вопрос:

Есть ли способ в JavaScript проверить, является ли сеанс браузера новым? Я знаю, что в Java вы можете использовать Session.isNew() . Есть ли что-то эквивалентное в JavaScript?

Комментарии:

1. серверная часть всегда может уведомить интерфейс, верно?

Ответ №1:

В более современных браузерах вы могли бы использовать sessionStorage объект.

Например:

 if (!sessionStorage.isNewSession)
    // Blah.

sessionStorage.isNewSession = true;
  

Подробности об sessionStorage объекте:

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

Но, как я уже сказал: только для современных браузеров.

Насколько я знаю, совместимость заключается в следующем:

Internet Explorer 8 Firefox 3.5 Safari 4 Chrome 1 Opera 10.6

Комментарии:

1. Спасибо! мне приходится поддерживать старые браузеры, но это полезная информация!

2. Это решение сработало для меня. Очень красиво и чисто, спасибо.

Ответ №2:

Сессия — это концепция на стороне сервера. Если файл cookie сеанса был создан, на стороне клиента нет способа узнать, является ли сеанс новым или нет.

Ответ №3:

Вы можете создать некоторые скрытые поля на стороне сервера и проверить это значение с помощью javascript для проверки. В качестве альтернативы вы можете использовать cookies для достижения этой цели с некоторым обходным путем.