Про 200 webpack-плагінів для перформансу на конференції JavaScript fwdays'20 | 14 березня
×Закрыть

Веб чат

Привет, столько форумов перелопатил, но так и не могут дать ответа, может тут помогут.

Есть желаннее сделать чат. Сделал средствами пхп+аякс, но проблема в том что при рефреше контейнера «чат-флуда» происходят блики и это реально напрягает, сделал сначала на текстариа, но суть не в этом пусть даже дивы... ну собсно вопрос:

1.хотелось бы услышать ответ от того кто создавал чат (платформа не важна ибо все одно) как реализовано обновление контекста при получении нового месага.

Поясню не важно как и на чем писать и кто будет раздражителем процесса обновление области с флудом, но если просто переписывать содержимое дива инетрНТМЛ то блики будут да и способ это кривой. Нашел идею основанную на том чтобы средствами ДОМ создавать новый див и как бы он просто будет прилепливаться снизу, как по мне то это лучшее решение (но если есть что-то еще вы маякуйте) на сайте с демо подобного чата был прикол что не было потолка у выводимых сообщениях, решить проблему скажем через уникального айди (если последний на 20 больше головы то...) думаю не реально ибо через месяц или флудную неделю этот айди будет заоблачным. В общем надо делать каким-то макаром очередь с диапазоном выводимых месагов.

И еще 1, если делать скажем сокетами на пхп то все равно тот же эффект сокеты заменят аякс, но саму проблему красивого вывода не решат.

Подскажите советом, код не надо. Как пример и придел моих мечтаний (даже перебор)

LinkedIn
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Сергей Волошин спасибо, но сделал все через ноды получается очень даже нечего, так что теперь рутина...

Не сталкивался, но например начал я например начал бы делать как-то так:

svoloshyn.org.ua/...chat/index.html

2 Сергей Волошин, а вы сталкивались с подобной задачей? просто варианты написать на чем-либо другом не подходит..., а если сделать с умом, то результат думаю будет отличный.

хотя вариант добавлять ноды+проверять их количество и в случае если больше «max count» то удалять первый, думаю будет вполне хватать, так же таким способом можно сделать нормальный вывод списка флудеров: «...insertBefore (b, a); »

не вижу смысла, точнее смысл есть, но задача как раз в том чтобы сделать с «0» нормальный чат средствами пхп, аякс.

Вы используете какие-то библиотеки типа jQuery?

вот и я тоже попробовал и понял что у фраймов не то что «+» он вообще не подходит для решения данной задачи, буду пытаться к диву ноды крепить.

Мне кажется что можно вполне и без фреймов обойтись, какие они плюсы дают по сравнению с например дивами?

а как именно добавлять ноды в iframe? он же выводить в своем теле сурс, а все что будет добавляться будет помещено между тегами «iframe » и будет показано только в том случае если браузер не поддерживает этот самый «iframe»

А почему не сделать iframe и добавлять туда в DOM ноды? А проблему с «потолком» решать через количество нод (удалять первую когда это нужно)? Ну или не через iframe, неважно. Но считать ноды, а не айдишники?

Подписаться на комментарии