2010-12-13 18 views
6

Solo para señalar que me refiero a los sistemas de chat escritos en PHP/jQuery donde se ve en la parte inferior 'El usuario está escribiendo un mensaje ...' He intentado tantos métodos para lograrlo pero todos fallan, he construido mi propio sistema de chat escrito en PHP + MySQL/Ajax + jQuery.'¿El usuario está escribiendo un mensaje' función ...?

No estoy pidiendo a alguien que me escriba la función sino simplemente darme un pequeño ejemplo para que pueda tener una idea de qué hacer.

me sería de gran aprecio, gracias de antemano :)

Respuesta

4

Use un temporizador para enviar una solicitud AJAX onkeyup que le indique a la base de datos que el usuario está escribiendo, en el otro lado, al tirar mensajes de chat puede notificar a la otra persona que están escribiendo.

Tome un vistazo a doTimeOut que tiene un gran ejemplo de supresión de rebotes en javascript ...

http://benalman.com/code/projects/jquery-dotimeout/examples/debouncing/

+0

¿Básicamente le dice a la base de datos que el usuario está escribiendo un mensaje y luego usa esa bandera durante el desplegable de los mensajes de chat? – bennyyboi

+0

No importa, lo resolví muchas gracias :) – bennyyboi

+0

Almacenar isTyping variable en db puede almacenar fácilmente datos innecesarios. ¿Hay alguna otra forma de llevar a cabo este "traspaso" de esta bandera de cliente a cliente? @bennyyboi ¿puedes compartir con nosotros tu solución? – dzona

0

lo que intentó comprobar si su campo respectivo mensaje se llena de algo cada n segundos. Si es así, ejecute una solicitud de servidor para actualizar ese estado entre ambos usuarios.

+0

Creo que probé que lo verifique cuando el cuadro de texto está lleno y que se agote el tiempo de espera, pero el problema es que nunca se mostró en un navegador invitado como lo probé entre mi computadora portátil y mi PC. – bennyyboi

1

Uso de JavaScript comprobar todos los (digamos) 2 segundos si no se pulsa ninguna tecla en la ventana de chat. En caso afirmativo, envíe una solicitud de Ajax para decirle a su aplicación que el usuario está escribiendo algo.

0

Es fácil, seleccione el texbox para el mensaje de chat. A continuación, utilice jquery .keydown con la selección, luego ejecute un ajax a php para comunicar con el usuario de la base de datos que otro usuario está escribiendo.

Cuestiones relacionadas