![]() |
Модераторы: Sardar, Aliance |
![]() ![]() ![]() |
|
Штык |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 206 Регистрация: 9.5.2005 Где: Москоу Репутация: 1 Всего: 1 |
собстно сабж.. все морочусь с чатом(AJAx юзаю) и вот собстно встал вопрос как отследить еси юзер не нажал кнопку выход а просто закрыл браузер?
прочел тут похожие темы но так и не нашел можно ли при отлове закрытия выполнить некий скрипт? типа сказать серваку что все юзер ушел.. Это сообщение отредактировал(а) Штык - 10.10.2006, 22:36 --------------------
Lachetes familieresQui nous rendent guerrieres |
|||
|
||||
Aliance |
|
|||
![]() I ♥ <script> ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6418 Регистрация: 2.8.2004 Где: spb Репутация: 55 Всего: 137 |
onunload - но оно срабатывает даже если пользователь перешел на другую страницу.
|
|||
|
||||
sergejzr |
|
|||
![]() Un salsero ![]() Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 10 Всего: 360 |
Самый верный способ - переодически сообщать серверу, что юзер "живой". Например раз в 10 сек. аяксом запрос слать.
|
|||
|
||||
pythonwin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2529 Регистрация: 18.4.2006 Где: за компом Репутация: 1 Всего: 36 |
а может прописать в куках и + проверять onunload?
|
|||
|
||||
Штык |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 206 Регистрация: 9.5.2005 Где: Москоу Репутация: 1 Всего: 1 |
то есть каждые 10 сек шлю серву что пользователь жив и продлеваю жисть куки.. и время последнего обновления записываю так? а так же пробегаюсь по тем кто в сети и смарю еси время обновления больше заданного лимита то юзер мертв так?а этот вариант не оч грузить серв буит?
хмм тож хороший вариант.. так что оптимальнее буит?конечно попробую и то и то но хотелось бы мнение спецов узнать --------------------
Lachetes familieresQui nous rendent guerrieres |
||||
|
|||||
sergejzr |
|
|||
![]() Un salsero ![]() Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 10 Всего: 360 |
Не больше, чем сам чат. Ведь пользователь и так довольно часто пишет. А проверку с клиента отсылать только по неактивности в 10 сек. |
|||
|
||||
GoodBoy |
|
|||
![]() Главный джедай ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3886 Регистрация: 8.1.2003 Где: КМВ Репутация: 2 Всего: 83 |
||||
|
||||
anka |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 18.9.2006 Где: Azerbaijan Репутация: нет Всего: нет |
<body onunload = "document.location = 'test.php'">
|
|||
|
||||
R.M. |
|
|||
![]() Анархист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2164 Регистрация: 8.6.2005 Где: Питер Репутация: нет Всего: 30 |
Ещё можно юзать onbeforeunload оно при переходе по вкладкам не срабатывает. Только он вроде в опере не работает
-------------------- Помнишь как бодрили дискотеки прошлого века? Теперь стул, компьютер и нету человека. Nokia LifeStyle - Всё для смартфонов Nokia |
|||
|
||||
GoodBoy |
|
|||
![]() Главный джедай ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 3886 Регистрация: 8.1.2003 Где: КМВ Репутация: 2 Всего: 83 |
anka, это будет срабатывать не только при закрытии браузера, но и при любом переходе со страницы на страницу!
|
|||
|
||||
Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
Можно ли как-нибудь очистить событие onunload - например как на Gmail что бы спрашивало, точно ли вы хотите уйти со страницы?
|
|||
|
||||
EDELWEISS |
|
|||
![]() КОДЕР Профиль Группа: Участник Сообщений: 8 Регистрация: 23.3.2009 Репутация: нет Всего: нет |
||||
|
||||
IDVsbruck |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 778 Регистрация: 12.11.2006 Репутация: 8 Всего: 22 |
Как раз сейчас занимаюсь поиском и апробацией технологии Comet/Bayeux - для чатов самое оно. Так вот там даже есть реакция сервера, когда он не просто ERROR, но еще и DISCONNECT или SESSIONCLOSE (и еще парочка). Причем, отлавливает событие мгновенно и без участия кода на клиентской стороне.
В последнем релизе Jetty я видел клинтский и серверный код реализации чата (с использованием dojo или jquery). Также буквально сегодня видел реализацию чата на html-php с использованием этой технологии. |
|||
|
||||
Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
IDVsbruck, что это за технология? Comet/Bayeux?
|
|||
|
||||
IDVsbruck |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 778 Регистрация: 12.11.2006 Репутация: 8 Всего: 22 |
Comet - технология, так называемый server-pushing ... wiki
Bayeux - протокол, сертифицированный создателями dojo. Он же Cometd. Тут нашел полное описание протокола. Еще можешь посмотреть технологию Continuations от Mortbay - так называемый server-polling. Возможно, для чатов это будет даже удобнее. Напоминает обычный опрос клиентом сервер ajax'ом, только ответ приходит с сервера не мгновенно, а как только на сервере появится событие (чей-то пост в твоем случае) или по таймауту, который выставляется. Само собой, свой пост также является событием. Сервер как бы задерживает response. Технология очень интересна тем, что на клиенте, в отличие от предыдущих технологий, не надо вообще ничего делать или добавлять - просто когда получаем ответ, тут же посылаем новый запрос. Реализации встречал кроме своей Java также на PHP, Perl и Python. |
|||
|
||||
![]() ![]() ![]() |
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |