Проверка активности пользователя с помощью javascript

webwin

Новичок
Проверка активности пользователя с помощью javascript

Пишу чат и столкнулся с проблемой определения, когда пользователь не активный. Или это можно сделать проще без использования javascript
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Конечно.
Стоять сзади и смотреть _глазами_
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
В принципе можно и без...
в скрытом фрейме страница с рефрешем.
Рефреш - каждую минуту и обновление, например, записи в БД.
в "главном" скрипте - проверка

-~{}~ 23.01.08 10:45:

сделать на javascript ?
google//Ajax
 

maxwell

artifex
Сначала определитесь что в вашем понимании неактивный, а потом уже думайте как это реализовать.

Mr_Max, причем тут аякс?
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
maxwell
без фрейма аяксом обновлять периодически таблицу активности пользователей.

причем тут аякс?
AJAX (Asynchronous JavaScript and XML)

Еще вопросы будут?
 

AmdY

Пью пиво
Команда форума
Mr_Max, ты маленько не туда двинул
можно проверять время последнего действия нажатия клавиши, клика, передвижения мышки.
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
AmdY
Mr_Max, ты маленько не туда двинул
можно проверять время последнего действия нажатия клавиши, клика, передвижения мышки.
Да пусть проверяет что угодно.
Данные потом нужно "послать" на сервер.

Вообще все сводится к вопросу
понимании неактивный
Если реализуется что-то наподобие проверки находится ли юзер на странице - фрейма, с рефрешем будет достачно.

Иначе разруливать через Дж-скрипт+аякс.

В любом случае лучше дождаться коментариев ТС-а
 

Апокалипсис

тех дир matras.ru
хех, ну если он пишет чат - то подразумевается что коннект с сервером уже будет раз за опр. период времени :)
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Время последнего сообщения? И зачем тут аякс?
Хорошо, проехали. Мы друг-друга не понимаем.

Как ты предлагаешь обмениваться данными с сервером?
Например
1. актуальную версию тех, кто сейчас в чате?
2. Проверять не ушёл ли кто...

p.s. Несколько дней назад мелькала тема в форуме про такой чат. Довольно симпатишный.
 

maxwell

artifex
Mr_Max, не все есть аякс, где джаваскрипт, и пусть даже обмен данными с сервером.

По вашему до модного слова «аякс» чатов не было?

Ваши слова «Дж-скрипт+аякс», подтверждают то что, вы пихаете это слово куда не попадя.


Сам писал «аякс» чат, полтора года назад, отлично работает, только вот у автора стоит задача, как можно более оттолкнутся от JS.
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Как ты предлагаешь обмениваться данными с сервером?
-~{}~ 23.01.08 23:48:

как можно более оттолкнутся от JS.
Ага...
Чем не подходят
JQuery
Prototype
JsHttpRequest
где здесь что-то кроме дж-скрипта?
Back-end?
хм так он при любых расскладах будет.

?
 

AmdY

Пью пиво
Команда форума
maxwell, ты не прав, макс писал о возможности сделать без ajax
а без js это сделать нереально
 

kode

never knows best
Автор оригинала: AmdY
maxwell, ты не прав, макс писал о возможности сделать без ajax
а без js это сделать нереально
[offtopic]VB-Script[/offtopic]
:))

Дык, maxwell что мешает тебе сделать:

Код:
var active;

function checkActivity(){
if(!active){
//Пользователь неактивен делаешь что хочешь
window.close(); //например
}

active = 0;
}

function updateActivity(){
active = 1;
}

<body onload="setInterval(checkActivity(),5000)" onClick="updateActivity()" onMouseMove="updateActivity()">
 

maxwell

artifex
kode, мне вообще ничего не мешает.

Значит пользователь неактивен если он не двигает мышкой? Оригинально.


Почему не годится то что я предложил? Время отправки последнего сообщения? И зачем тут аякс?
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Время отправки последнего сообщения?
1. юзер может сидеть и тупо читать то, что пишут другие в чате.
2. Юзер, например, может сидеть и ждать пока появится кто-то в чате. (Это тогда, конечно, не чат... :) )

И зачем тут аякс?
бновление, например, записи в БД
в такую себе "таблицу активности".
Для определения активности опираться именно на эту таблицу, а не на время последнего сообщения.

-~{}~ 24.01.08 21:06:

Делай как считаешь более правильно.
В любом случае тебе нужно организовать "обмен" данными __об друг-друге__ между сервером и пользователем/и чата.

Чат, про который я упоминал.
Установи себе FireBug и посмотри что к чему.

Это не пример для подражания.
Это ответ на твой вопрос.
И зачем тут аякс?

http://phpclub.ru/talk/showthread.php?s=&threadid=105581&highlight=%F7%E0%F2
 

webwin

Новичок
Спасибо за предложеные варианты.
Я реализовал так:
через каждые 3 секунды идут запросы через аякс для проверки новых сообщений. В этих запросах обновляю дату посещения пользователя. Если пользователь закрыл браузер, запросы через аякс не идут и дата последней активности пользователя начинает устаревать. Через 10 минут данные о пользователе удаляються ус таблички активности.
 

maxwell

artifex
webwin, именно!


Mr_Max, заметь, аякс при проверке активности не нужен.


ЧТД.
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Mr_Max, заметь, аякс при проверке активности не нужен.
да ну?
В этих запросах обновляю дату посещения пользователя
На сервер приходт информация что юзер "живой".

А как доходит, 1 потоком или 10-ю отдельными - это уже дело третье.

Можешь упаковать хоть все в 1.
 
Сверху