#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 для достижения этой цели с некоторым обходным путем.