2010-12-13 3 views
6

필자는 PHP/jQuery로 작성된 채팅 시스템의 하단에 '사용자가 메시지를 입력하는 중입니다 ...'라고 말하고 있습니다.이를 수행하는 데 너무 많은 방법을 시도했지만 모두 실패합니다. PHP + MySQL/Ajax + jQuery로 작성된 내 자신의 채팅 시스템.'사용자가 메시지를 입력하고 있습니다'기능 ...?

나를 위해 함수를 작성하는 사람은 필요 없지만 조금만 예를 들어서 무엇을 해야할지 생각해 볼 수 있습니다.

답변

4

타이머를 사용하여 AJAX 요청 onkeyup을 보내 사용자가 입력하는 데이터베이스를 알려주고 다른 쪽에서는 채팅 메시지를 풀다운 할 때 상대방에게 입력 중임을 알릴 수 있습니다. 어떤 키가 채팅 창에서 누르면 자바 스크립트 (말할 수) 2 초마다를 확인하여

자바 스크립트 디 바운싱의 좋은 예를 가지고 doTimeOut 한 번 봐 ...

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

+0

기본적으로 사용자가 메시지를 입력하고 채팅 메시지를 풀다운하는 동안 해당 플래그를 사용한다는 것을 데이터베이스에 알려주시겠습니까? – bennyyboi

+0

신경 쓰지 마시고 많이 감사드립니다 :) – bennyyboi

+0

db에 isTyping 변수를 저장하면 불필요한 데이터로 db를 쉽게 채울 수 있습니다. 이 플래그를 클라이언트에서 클라이언트로 "이전하는"다른 방법이 있습니까? @bennyyboi 당신의 솔루션을 우리와 함께 나눌 수 있습니까? – dzona

0

당신은 할 수 : 사전에 내가 대단히 감사하겠습니다

, 감사 메시지 텍스트 상자가 뭔가 n 초마다 충전되어 있는지 확인하려고합니다. 그렇다면 서버 요청을 실행하여 두 사용자간에 해당 상태를 업데이트하십시오.

+0

필자는 텍스트 상자가 채워지고 시간 제한이 발생했는지 확인하려고했지만 문제는 내 노트북과 PC간에 테스트 한 게스트 브라우저에서는 표시되지 않았습니다. – bennyyboi

1

. 그렇다면 Ajax 요청을 보내 사용자가 무언가를 타이핑하고 있음을 애플리케이션에 알리십시오.

0

간편하게 채팅 메시지의 texbox를 선택하십시오. 그런 다음 jquery .keydown을 선택 항목과 함께 사용하여 다른 사용자가 입력하는 데이터베이스에서 tel user에게 php로 보내십시오.

관련 문제