Люди, как я могу узнать, когда пользователь изменил адрес и покинул страницу? Я использую JSF 1.2, и мой босс хочет эту небольшую функцию, например, он находится на странице, а затем он поместил другой адрес ctrl + L, затем www.foo.com, и когда он вернется на страницу, сессия все еще действительна, поэтому ему не нужно проходить по экрану входа в систему, как недействительно, когда это событие происходит?Как аннулировать сеанс, когда пользователь покидает страницу в jsf?
ответ
Единственный способ привязать функцию JavaScript к <body onunload='...'>
(http://www.w3schools.com/jsref/event_onunload.asp).
Вот пример:
<script type="application/javascript">
function logout() {
var xhr = XMLHttpRequest();
xhr.open('get', '/logout', false);
xhr.send(null);
}
</script>
....
<body onunload="logout()"> ...
Таким образом, когда пользователь уезжала страницу, браузер выдаст запрос на /logout
URL. На стороне сервера аннулируйте любой пользовательский сеанс, который запрашивает /logout
.
Это также будет выполняться, если пользователь отправит форму на текущей странице или нажимает ссылку на другую страницу на ** том же ** веб-сайте или изменяет URL-адрес на другую страницу на ** том же ** веб-сайте. Это не то, что намерен OP. Внимательно прочитайте ссылку в комментарии Адриана по этому вопросу. – BalusC
- 1. Как аннулировать сеанс в браузере в JSF
- 2. Как удалить запись, когда пользователь покидает страницу?
- 3. Проверьте, когда пользователь покидает страницу с PHP
- 4. Вызов функции JavaScript, когда пользователь покидает страницу
- 5. Стратегия: разблокировать документ, когда пользователь покидает страницу
- 6. Как аннулировать сеанс Wicket
- 7. Недействительный вход в Laravel, когда пользователь покидает страницу
- 8. аннулировать сеанс, если пользователь открывает несколько вкладок
- 9. Как принудительно завершить сеанс ASP.Net, когда пользователь покидает сайт?
- 10. Как аннулировать сеанс Siteminder
- 11. как аннулировать сеанс пользователя
- 12. Уничтожить сеанс базы данных, когда пользователь покидает сайт
- 13. Как проверить, когда пользователь покидает приложение ASP.NET
- 14. Как показать предупреждение, когда пользователь покидает страницу, не отправив форму
- 15. Как показать modalwindow, когда пользователь покидает веб-страницу?
- 16. Как сохранить бесконечный стек содержимого AJAX, когда пользователь покидает страницу?
- 17. Как захватить, когда пользователь неожиданно покидает страницу ASP.Net
- 18. GTM, Как вызвать тег события, когда пользователь покидает страницу?
- 19. Как «не кэшировать» загруженный ajax html, когда пользователь покидает страницу
- 20. Как узнать, когда пользователь покидает мой сайт
- 21. Показаны предупреждения в angularjs, когда пользователь покидает страницу
- 22. Обнаружение, когда пользователь покидает страницу/браузер в Flex
- 23. Добавить в файл журнала Apache, когда пользователь покидает веб-страницу
- 24. jsf - перехват, когда пользователь отправляется на страницу
- 25. JavaScript - код запуска, когда пользователь подтверждает, что покидает страницу
- 26. Обнаруживать, когда пользователь покидает страницу и пишет файл cookie
- 27. AJAX - когда пользователь покидает страницу - хорошая или плохая практика/реализация?
- 28. Лучший способ определить, когда пользователь покидает веб-страницу?
- 29. как аннулировать сеанс на кнопке закрытия браузера?
- 30. Обнаруживать, когда пользователь покидает поток событий
Это невозможно сделать, потому что ваше приложение не знает, когда пользователь меняет URL-адрес на любой другой домен. Посмотрите здесь - http://stackoverflow.com/questions/1686687/how-can-i-get-the-destination-url-in-javascript-onbeforeunload-event для получения дополнительной информации. –