Привет )))
В общем, интересует такой вот вопрос меня... Есть такой сервис liveoperator.ru, в двух словах, это чат с посетителем сайта в реальном времени, то есть Оператор пишет любому, находящемуся на сайте пользователю, и у него открывается окно "Вам сообщение", без перезагрузки страницы, так же и посетитель может писать админу.
Как примерно реализовать такое на php и js? В частности, интересует вопрос, как можно при "отправке" сообщения кому-либо (здесь происходит запись в бд с параметром WHERE ip='$userip'), показать ему без перезагрузки страницы, что ему пришло сообщение? (Собственно само окно чата я примерно представляю как реализовать)
Вариант такой - делать запрос js-функцией ajax('index.php?module=......') через например каждые 10 сек, но мне кажется это не лучший способ.
Чат в реальном времени
не сложно, вопрос в другом ...
сообщение отправлять только пользователям или всем кто на сайте ?
только тому пользователю, какому нужно))))
Это называется "Онлайн-консультант", вспомнил.
Написал я себе онлайн-консультативню, только один вопрос: Когда администратор отправляет сообщение (записывается в бд - insert into ... where alert='1'), нужно, чтобы пользователь тут же был уведомлен о новом сообщении, то есть нужно тогда, когда alert=1, вывести на экран юзера, например, div какой-нибудь. - как сделать это при перезагрузке страницы, я себе отчетливо представляю, но если без перезагрузки? может как-нибудь jquery подключить? =/
ну так найди скрипт js который выдает данные без перезагрузки страниц и все... делов то
Вводим в том месте где должно быть сообщение такой код:
По переменным:
DIV куда выводим сообщение юзеру, является пустым и скрыт по умолчанию...
Подключаем скрипт prototype...
Вводим нужные параметры запросов, где:
- charset=\"windows-1251\" - кодировка Вашего сайта
- setInterval - интервал опроса сервера в миллисекундах, задается переменной $time_pause...
- message - id нашего div тега...
- message.php - непосредственно скрипт который делает запрос в БД и обрабатывает данные о выводе сообщения(вместо скрипта можно вставить функцию из скрипта)...
[b]Скрипт message.php:[/b]
[b]В итоге:[/b] при работе скрипта, пока юзер находится на странице, через определенный интервал времени ($time_pause) делается опрос нужного скрипта, и если в скрипте появляется переменная которую можно вывести на экран, то её содержимое выводится в теге DIV без перезагрузки страницы...
[i]Все тоже самое можно сделать на ДЖквери или любом другом Аякс скрипте, только логика и код будет другой, я просто дал примера...[/i]
А на родном ажаксе слаеда такое нельзя реализовать ?
А на родном ажаксе слаеда такое нельзя реализовать ?
Да фиг его знает, скорее всего нет, нужно смотреть возможности родного аякса в Slaed.
Я просто выкидываю все js из системы и все переделываю на полноценный jQuery, так как в Slaed сильно урезанные версии.
спасибо. но есть одно но... это получается, что через каждые 5-10-100 ... секунд будут производиться запросы для КАЖДОГО находящегося на сайте пользователя... хм, имхо нагрузка возрастет на сервер =/