2010-12-13 5 views
6

Просто для того, чтобы указать на то, что я имею в виду системы чата, написанные на PHP/jQuery, где вы видите внизу «Пользователь вводит сообщение ...» Я пробовал так много методов для его выполнения, но все провалились, я построил моя собственная система чата, написанная на PHP + MySQL/Ajax + jQuery.Функция «Пользователь вводит сообщение» ...?

Я не прошу кого-нибудь написать мне эту функцию, а просто дать мне небольшой пример, чтобы я мог понять, что делать.

Я бы очень признателен, спасибо заранее :)

ответ

4

Используйте таймер для отправки запроса AJAX onkeyup, который сообщает базе данных, которую вводит пользователь, с другой стороны, когда вы снимаете сообщения чата, вы можете затем уведомить другого человека, которого они печатают.

Взгляните на doTimeOut, который имеет отличный пример дребезга в JavaScript ...

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

+0

Так что в основном сообщите базе данных, что пользователь вводит сообщение, а затем использует этот флаг во время вытаскивания сообщений чата? – bennyyboi

+0

Ничего страшного, я сработал, спасибо большое :) – bennyyboi

+0

Хранение переменной isTyping в db можно легко перерезать db с ненужными данными. Есть ли другой способ выполнить эту «передачу обслуживания» этого флага от клиента к клиенту? @bennyyboi вы можете поделиться с нами своим решением? – dzona

0

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

+0

Я думаю, что я попробовал, чтобы проверить, когда текстовое поле заполнено, и запустить тайм-аут, но проблема не была показана в гостевом браузере, когда я тестировал его между моим ноутбуком и ПК. – bennyyboi

1

Использование JavaScript проверить каждый (позволяет говорить) 2 секунды, если нажата любая клавиша в окне чата. Если да, то отправьте запрос Ajax, чтобы сообщить вашему приложению, что пользователь что-то печатает.

0

Его легко, выберите texbox для сообщения чата. Затем используйте jquery .keydown с выбором, затем запустите ajax для php, чтобы отправить пользователю пользователя из базы данных, которую вводит другой пользователь.