|
|
|||||
[+1 27.05.10]
Регистрация: Dec 2009
Сообщений: 32
|
Обработчик выхода из окна браузера
Есть небольшое приложение на флеше, которое я интегрирую в страницу html, задача состоит в том чтоб когда юзер закроет страницу должна удалится информация из базы даных. На кнопку я такой обработчик повесил, а как это зделать для страницы браузера не вкурсе, помогите пожалуста.
|
|
|||||
Регистрация: Oct 2003
Адрес: Москва
Сообщений: 328
|
Попробуйте так.
В HTML страницу ставим: <script type="text/javascript"> window.onbeforeunload = function() { // эта функция вызывается при закрытии HTML страницы var app = document.getElementById('id_флешки_а_html'); if (app) app.doClose(); // дергаем флеш } </script> |
|
|||||
[+1 27.05.10]
Регистрация: Dec 2009
Сообщений: 32
|
Спасибо
Огромное спасибо, а то уже начал искать на иностранных сайтах решение
|
|
|||||
Регистрация: May 2003
Адрес: Tallinn
Сообщений: 3,181
|
а если выключить комп не закрывая браузера?
так нельзя делать... |
|
|||||
[+1 27.05.10]
Регистрация: Dec 2009
Сообщений: 32
|
На кнопку то я повесил это дело но если вешать на обработчик закрытия окна страницы, то ничего не получается, страница закрывается а функция не выполняется
|
|
|||||
Сделайте таймер на сервере:
1. Если от клиента приходит запрос - обнуляйте таймер. 2. Если таймер достиг конечного значения - удаляйте информацию их бд. Если используете прелоадер флешки, расположенной на сервере, и работаете с сокетами, то можно работать с sid. Добавлено через 1 минуту 0. Старт таймера - по первому запросу от пользователя.
__________________
круглое тащим, квадратное катим |
|
|||||
[+1 27.05.10]
Регистрация: Dec 2009
Сообщений: 32
|
Не понял как реализовать
Цитата:
Просто я пишу чат на Flash. Задача моя состоит в том чтобы выводились все пользователи онлайн, по таймеру через каждые 10 секунд отсылает Flash запросы PHP, тот проверяет базу, и выводит всех кто сейчас онлайн. Но если человек вышел, то информация собственно не удаляется, можна конешно повесить на флеш кнопку выход, но не факт что все будут ей пользоватся, по этому нужно какоето решение. Если вопрос не сюда извените)). |
|
|||||
[+1 19.06.10]
[+1 27.07.10] Регистрация: Aug 2009
Адрес: UTC+2
Сообщений: 353
|
откройте в клиентском флеше сокетное соединение с сервером.
даже если юзер вырубит комп тупо, сервер уже будет в курсе - внесете изменения в БД. работающего быстрее способа нет |
|
|||||
Можно сделать еще в таблице пользователей онлайн поле с временем последннго запроса.
Таймер каждые 10 секунд отправляет запрос "я онлайн, дай мне спиок ползователей", а php удаляет тех кто не обновлялся более 11 секунд и возвращает остальных. |
Часовой пояс GMT +4, время: 09:33. |
|
« Предыдущая тема | Следующая тема » |
|
|