Автор Тема: Скриптик для чата  (Прочитано 3358 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Гость

  • Гость
Скриптик для чата
« : 19 Января 2003, 00:14:51 »
Народ помогите плииииз.....
У меня такой вопрос:
Я пишу чат на PHP, и у меня возник вопрос:
Как сделать при помощи JavaScript и PHP окно каторое каждые 5 секунд выводит новые сообщения с плавным перемещением скрола вниз, суть моего вопроса в том, что я непридумаю никак как сделать так, чтобы одни и теже сообщения не грузились по несколько раз, ведь если делать обновление фрейма каждые 5 секунд, то во первых, это тормозит чат, во вторых, постоянное моргание перед глазами.
У меня была одна идея, что если каждые 5 секунд создовать PHP скриптом файл с уникальным именем, затем JavaScript скрипт читает этот файл как просто сценарий JavaScripts, после чего выводит на экран содержимое файла, а следующая функция поавно передвигает скрол вниз.
Я неуверен что мои фонтазии может осуществить JavaScript, но прошу помоч...
Деньгами я за работу расплотиться несмогу, но после написания чата, кину линк на ZIP архив если хотите! :)

Пример того, чего я хочу: http://www.august4u.ru
Заранее спосибо.

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Скриптик для чата
« Ответ #1 : 19 Января 2003, 00:29:22 »
Идея примерно такая:
Делаеш скрытый фрейм, который перегружаеш каждые 5 секунд и в который грузиш php-скриптом только новые сообщения.
А с помощью яваксрипта передаеш их в основное окно и делаеш скроллинг.

Готового кода нету, если что непонятно - спрашивай.
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Гость

  • Гость
Скриптик для чата
« Ответ #2 : 19 Января 2003, 00:33:02 »
На счёт этого я понял, но вопрос в том, как при помощи JavaScripts это осуществить?

Оффлайн nagash

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 341
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.nagash.org
Скриптик для чата
« Ответ #3 : 20 Января 2003, 01:24:23 »
эм... если ничего не путаю...
window.mainframe.document.write ("типа новое сообщение");
где mainframe - имя твоего главного фрейма который ты не хочешь перегружать! =)

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Скриптик для чата
« Ответ #4 : 20 Января 2003, 01:36:56 »
Гость
какой именно из этапов тебе не ясен:
  • перегрузка фрейма для получения новых сообщений
  • передача данных из одного фрейма в другой
  • скроллинг


1. решается через document.location.href
2. данные передаются примерно так
top.frames[\'hidden_frame\'].document.form.txt.value - это если к примеру та данные в скрытом фрейме вывел в textarea с именем txt. Чтобы вывести их в основном фрейме я бы использовал слои (хотя наверное можно использовать мысль nagash-а) . Для слое лучше использовать специальные библиотеки типа klayers (ссылки в FAQ-е)

3. делается с помощью либо через window.scroll хотя имхо лучше через объект TextRange метод ScrollIntoView

Естественно под всеми броузерами это работать не будет ;)
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн А`покалипсис

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 8
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.sinor.ru/~rockchat
Скриптик для чата
« Ответ #5 : 20 Января 2003, 08:58:49 »
Тебе ж в пхпклуюе ответили?

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28