17.07.2011, 19:03
|
Аспирант
|
|
Регистрация: 23.03.2011
Сообщений: 47
|
|
Так это нажатие клавиатуры...
Появляется окно с вопросом "Покинуть страницу?", если юзер жмет "Покинуть", при закрытии страницы выполнить скрипт.
Нужно поймать кнопку "Покинуть", и написать ей обработчик.
Вот как к именно этой кнопке обратиться?
|
|
17.07.2011, 21:53
|
|
猫
|
|
Регистрация: 07.06.2007
Сообщений: 7,504
|
|
AndreyS,
Зачем насиловать пользователей, представь что при нажатии пульта телевизора он начнет тебя спрашивать уверен ли ты или реклама поинтересуется в себе ли ты?
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
|
|
18.07.2011, 00:02
|
Аспирант
|
|
Регистрация: 23.03.2011
Сообщений: 47
|
|
Дело в том что это интернет чат.
Когда человек заходит в чат, в БД ставится флаг что он online.
В главном окне есть список "Пользователи online".
Проблема в том что человек может просто закрыть страницу или перейти на другой сайт.
Как это отловить и убрать его из online???
Подскажите пожалуйста может есть какой-нибудь другой способ это сделать!! А то я уже не знаю что делать...
|
|
18.07.2011, 00:07
|
|
Модератор
|
|
Регистрация: 27.04.2010
Сообщений: 3,417
|
|
Например: каждые n секунд браузер посылает на сервер сообщение. Типа "Я онлайн!". Если в течении n секунд на сервер сообщение не приходит - то делаешь пользователя оффлайн.
P. S. Не уверен, что это лучший способ)
Последний раз редактировалось trikadin, 18.07.2011 в 00:10.
|
|
18.07.2011, 00:32
|
Аспирант
|
|
Регистрация: 23.03.2011
Сообщений: 47
|
|
А можно пожалуйста по подробнее.
Как браузер посылает это сообщение?
Хотя бы на словах, а то не совсем понял как это должно происходить.
|
|
18.07.2011, 00:37
|
|
Модератор
|
|
Регистрация: 27.04.2010
Сообщений: 3,417
|
|
Аякс...
А можно поподробнее, как вы чат без аякса пишете?
|
|
18.07.2011, 00:43
|
|
Быдлокодер;)
|
|
Регистрация: 19.11.2010
Сообщений: 4,338
|
|
Цитата:
|
А можно поподробнее, как вы чат без аякса пишете?
|
Ну ну почему, всё можно) Раньше большинство чатов были на фреймах, где просто был статичный рефреш странички. Да и до появления AJAX люди его эмулировали. У меня есть здоровенная книга Томаса Паула "AJAX" и там целая часть посвящена тому, как раньше люди делали - куча способов и каждый оригинальней и чуднее другого)
К примеру, запрашиваем у сервера картинку с помощью img, а на самом деле кидаем ему запрос, а он ответом генерит прозрачную картинку и по её высоте мы определяем, что он нам сказал
Последний раз редактировалось kobezzza, 18.07.2011 в 01:36.
|
|
18.07.2011, 01:18
|
Аспирант
|
|
Регистрация: 23.03.2011
Сообщений: 47
|
|
У меня есть небольшая часть c Ajax.
Не понятна сама идея. Как браузер может знать Online или нет.
Сейчас значение "online" у меня хранится в БД. Мой блок обновляется каждые 5 сек. и шлет запрос к БД.
А как браузер может сам определять это не понятно.
|
|
18.07.2011, 01:26
|
|
Быдлокодер;)
|
|
Регистрация: 19.11.2010
Сообщений: 4,338
|
|
Ну самый простой вариант - это polling: раз скажем в 5 минут посылаешь запрос серву, мол "привет, я всё ещё онлайн". Если делать понтовей, то можно сделать сокет.
|
|
18.07.2011, 01:29
|
|
Модератор
|
|
Регистрация: 27.04.2010
Сообщений: 3,417
|
|
Сообщение от AndreyS
|
Как браузер может знать Online или нет.
|
Всё просто. Если ты на странице - браузер шлёт запросы. Если ты не на странице - то нет. Утрированный пример:
setInterval(function(){alert("Ты тут!")}, 5000);
Сообщение от kobezzza
|
К примеру, запрашиваем у сервера картинку с помощью img, а на самом деле кидаем ему запрос, а он ответом генерит прозрачную картинку и по её высоте мы определяем, что он нам сказал
|
Это офигенно. Это круто.
|
|
|
|