Выйти, если все вкладки закрыты - PullRequest
1 голос
/ 07 ноября 2011

У меня есть приложение, а также модели пользователей и сессий. Новый сеанс создается, когда пользователь входит в систему. И sessiond разрушает, если пользователь выходит из системы или закрывает браузер. Но я хочу добавить уничтожающую сессию, если пользователь закроет все вкладки с моим приложением. Можно ли это сделать с нуля? Если нет, что я должен использовать?

Заранее спасибо

Ответы [ 2 ]

1 голос
/ 07 ноября 2011

Вам нужно использовать window.name, здесь есть несколько решений для управления вашим приложением на разных вкладках: Несколько вкладок

0 голосов
/ 07 ноября 2011

Переменные сеанса находятся на стороне сервера, а закрытие вкладки - это действие на стороне клиента, поэтому вам нужно каким-то образом отправить на сервер сигнал для очистки этих переменных сеанса.

Самым очевидным способом для меня было бы использование метода onbeforeunload браузера и ajaxical отправка чего-либо на сервер для очистки сеанса.

Теперь вам нужно найти способ, как вы обнаружите, что все вкладки вашего сайта закрыты. Потому что, если у меня ваш сайт открыт в двух вкладках, этот метод очистит сеанс при закрытии одной вкладки, рендеринг другая вкладка бесполезна (не бесполезна, возможно, из-под этой страницы был извлечен коврик, теперь этот сеанс завершен)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...