Sardonix
Новичок
Запуск скрипта по событию закрытия браузера: это возможно?
...здавствуйте, господа программисты...
...имеется такая проблема: есть чат, при логе на нем создается переменная сессии и в таблицу базы данных пользователей добавляется флаг on-line активности залогинившегося пользователя - этот флаг используется для созания актуального списка активных пользователей чата: в список on-line пользователей считываются только юзернеймы пользователей, имеющих флаг...
...при разрегистрации запускается скарипт, который удаляет переменную сессии и флаг из таблицы базы...
...всё вот это работает нормально до тех пор, пока пользователь выходит из чата корректно - через скрипт разрегистрации, однако, если пользователь просто закрывает браузер, происходит следующее - переменная сесии гибнет, а флаг активности в таблице базы - нет,т.о., получается, что пользователя в чате нет, а вот другие пользователи его там видят...
...я подумал, что следует на JavaScript'е следует написать сценарий обработки события закрытия окна браузера, вызывающий РНР-скрипт разрегистрации - что-то типа обработки onClose для объекта window (в Delphi это реализовано, в СРР, насколько мне известно, тоже), но, полистав литературу, такого события для JS не нашел...
...просветите неуча - что делать?
...здавствуйте, господа программисты...
...имеется такая проблема: есть чат, при логе на нем создается переменная сессии и в таблицу базы данных пользователей добавляется флаг on-line активности залогинившегося пользователя - этот флаг используется для созания актуального списка активных пользователей чата: в список on-line пользователей считываются только юзернеймы пользователей, имеющих флаг...
...при разрегистрации запускается скарипт, который удаляет переменную сессии и флаг из таблицы базы...
...всё вот это работает нормально до тех пор, пока пользователь выходит из чата корректно - через скрипт разрегистрации, однако, если пользователь просто закрывает браузер, происходит следующее - переменная сесии гибнет, а флаг активности в таблице базы - нет,т.о., получается, что пользователя в чате нет, а вот другие пользователи его там видят...
...я подумал, что следует на JavaScript'е следует написать сценарий обработки события закрытия окна браузера, вызывающий РНР-скрипт разрегистрации - что-то типа обработки onClose для объекта window (в Delphi это реализовано, в СРР, насколько мне известно, тоже), но, полистав литературу, такого события для JS не нашел...
...просветите неуча - что делать?
во-вторых, если использовать last_refresh, как ты отличишь, сидит ли человек и просто тупо читает или уже давным-давно закрыл браузер?