|
Новичок
Регистрация: 19.11.2004
Сообщений: 14
Провел на форуме: 8484
Репутация:
12
|
|
Ну, это не IRC чат 100%, потому что, там все фреймы открываются по протоколу http, да и вообще, я не слышал, чтобы на javascript кто-то писал IRC клиент =((((, ну разве что ASP и то, я не сталкивался с этим, да и при более детальном изучении чата, при помощи программы webview, например, становится понятно, что он работает по одной и той же архитектуре, так же, как и все потоковые чаты, идёт один фрейм, который постоянно обнвляется, и в этом фрейме идёт либо последнее сообщение, либо ничего, например :
if($lastmsg<$msg['num'])
echo '<script>top.m("'.$msg['time'].'","'.$msg['name'].'","'.$msg['msg'].'",'.$msg['color'].',1);</script>';
<script>history.go(0);</script>
Где lastmsg - номер последнего полученного сообщения, top.m выводит сообщение в фрейм сообщений, например, irc.html или какой-нибудь ещё
Пример процедуры top.m :
function m(dt,nm,ms,cl,pr)
{msg='<table border=0 cellspacing=1 cellpadding=0 width=100%><tr><td';if(nm==""){nm="Ekstazi";msg+=" bgcolor=#D6D6D6";}else if(ms.match("Ekstazi"))msg+=" bgcolor=#C0C0C0";msg+=">";if(dt==""){if(nm=="Eksta zi") msg+="<b> "+nm+" : ";
else msg+="<b> <a href='javascript:;' target=down onClick=top.p('"+nm+"',2) onmouseout=top.f()>"+nm+"</a> : ";
if(cl!=0) msg+="<font color=#"+c[cl]+">"+ms+"</font></b>";
else msg+=ms+"</b>";}
else if(pr==1){
if(nm=="Ekstazi") msg+="["+dt+"]<b> персональное сообщение от </b>"+nm+" : ";
else msg+="["+dt+"]<b> персональное сообщение от </b><a href='javascript:;' target=down onClick=top.p('"+nm+"',1) onmouseout=top.f()>"+nm+"</a> : ";
if(cl!=0) msg+="<font color=#"+c[cl]+">"+ms+"</font>";
else msg+=ms;}
else{
if(nm=="Ekstazi") msg+="["+dt+"] "+nm+" : ";
else msg+="["+dt+"] <a href='javascript:;' target=down onClick=top.p('"+nm+"',2) onmouseout=top.f()>"+nm+"</a> : ";
if(cl!=0) msg+="<font color=#"+c[cl]+">"+ms+"</font>";
else msg+=ms;}if(ms.match("Ekstazi")&&nm!="Ekstazi")msg +='<bgsound src="msg.mid" loop=1>';up.document.write(msg+"</td></tr></table>");
if(down.document.send&&!down.document.send.scroll. checked){up.scroll(0,1000000);up.scroll(0,1000000) ;}}
P.S. Я попробовал примерно описать принцып потоковых чатов, если я в чём то неправ, пожалуйста исправьте меня в форуме, или пишите в аську 298381412
|