У меня есть хорошая кнопка LogOut в меню моего приложения PHP, но некоторые люди не используют ее, они просто выходят из браузера.
Есть ли какой-нибудь способ, которым я могу это обнаружить (я понимаю, что он не будет обрабатывать сбой браузера, но это лучше, чем у меня сейчас и покрывает 99% случаев).
Это будет мой первый кусок JS.
- Я предполагаю, что могу легко написать обработчик закрытия страницы? Или я должен использовать onbeforeunload ()?
- В нем, возможно, я могу пройти все окна браузера и их вкладки (одинаковые или разные для каждого браузера? (IE, FF и т. Д.))
- Я могу получить URL каждой вкладки и проверить, запущено ли мое приложение (или есть ли лучший способ сделать это)?
- Если это последняя вкладка, либо загрузите новую эпоху, которая является страницей выхода из моего приложения, затем закройте ее (ожидая, пока она полностью откроется? Или просто отправьте HTTP-запрос и подождите 200 OK), или, возможно, какой-нибудь Ajax ?
Я надеюсь, что кто-то пожалеет о плохом JS n00b и укажет мне правильное направление.
Спасибо
Обновление: нет решений на основе таймера, пожалуйста. У меня есть один на месте, но один пользователь установил время ожидания 999999 нинутов и количество одновременных пользователей равным 1, затем закрыл свой браузер и заблокировал себя
Обновление: кажется, что те, кто здесь знают, говорят, что это не может быть сделано в JS, и Google предлагает мне, что не поддерживается в DOM.
Но как насчет другого пути? Думайте сбоку, ребята. Могу ли я отправить файл cookie, когда пользователь открывает новую вкладку со страницей из моего приложения? А потом удалить куки, когда пользователь захочет закрыть вкладку? И проверить, удаляю ли я последние файлы cookie, и сообщить серверу, чтобы они воспринимались как выход из системы?
Если не куки, есть ли другой способ? (Используйте Ajax при открытии и закрытии страницы, и сервер может решить, закрылась ли последняя вкладка?)