主题:  我做的简易聊天室,有个小问题就是不能自动浏览新发的言论?

loveadv

职务:普通成员
等级:3
金币:1.0
发贴:669
#12004/10/21 14:18:57
我做的简易聊天室,有个小问题就是不能自动浏览新发的言论?
测试网站:
www.cnmama.com/index_chat.asp
用户名随意,密码随意



loveadv

职务:普通成员
等级:3
金币:1.0
发贴:669
#22004/10/21 14:20:51
......两个现象,自己发表言论能自动的滚屏
......如果线上有其他人,发了言论后,如已放不发言论或也不刷新,是看不到这言论的。



缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
#32004/10/21 14:21:58
1.新的发言怎们在最上面

2.怎们之前的发言也可以看到?



缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
#42004/10/21 14:22:35
ydj在上个帖子中说
引用:
......两个现象,自己发表言论能自动的滚屏
......如果线上有其他人,发了言论后,如已放不发言论或也不刷新,是看不到这言论的。


那就让页面定时刷新



loveadv

职务:普通成员
等级:3
金币:1.0
发贴:669
#52004/10/21 14:28:48
allinhands在上个帖子中说
引用:
1.新的发言怎们在最上面

2.怎们之前的发言也可以看到?

我也不知道啊?
代码:
<%
mytalk=trim(request.form("putword")
if (mytalk<>"" then
application.lock
application("show"="<font color=0000ff size=4>" & request.cookies("cname" & "</font>:" & "<font size=3>" & mytalk & "</font>" & "<br>" & application("show"
application.unlock
end if
%>
<html>
<link href="version2/font_version2.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
body {
    margin-left: 0px;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
}
.style1 {font-weight: bold; font-size: 12px;}
body,td,th {
    font-size: 12px;
}
-->
</style><head>
<script language="javascript">
window.ClearEvent=function(){event.cancelBubble=false;var sSrcTagName=event.srcElement.tagName.toLowerCase();
return (sSrcTagName=="textarea" || sSrcTagName=="input" || sSrcTagName=="select";}
window.ClearKey=function(){event.cancelBubble=false;var iKeyCode=event.keyCode;return !(iKeyCode==78 && event.ctrlKey);}
with (window.document){oncontextmenu=onselectstart=ondragstart=window.ClearEvent;onkeydown=window.ClearKey;}
</script>
<title>Mother Tongue Design Office Chat Room</title>
</head>
<body>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<table width="800" height="101" border="0" cellpadding="0" cellspacing="0">
<!--DWLayoutTable-->
<tr>
<td width="22" height="29">&nbsp;</td>
<td width="778" valign="top"><p>&nbsp;
<br><br></p>
</td>
</tr>
<tr>
<td height="72">&nbsp;</td>
<td valign="top">    <%
=application("show"
%></td>
</tr>
</table>
<table width="800" border="0" cellpadding="0" cellspacing="0">
<!--DWLayoutTable-->
<tr>
<td width="800" height="26" valign="top"><br></td>
</tr>
</table>
</body>
</html>



loveadv

职务:普通成员
等级:3
金币:1.0
发贴:669
#62004/10/21 14:32:07
有不有方法,不刷新,而将对方发的消息自动出现在自己的聊天匡里啊?



yzhy9

职务:普通成员
等级:1
金币:0.0
发贴:5
#72004/10/25 23:10:41
  在打开Recordset时使用这个参数:
  sql = "Select top 20 * From 你的数据表名 Order By 时间 DESC"
  按时间排序,降序,显示前20条记录。我想是这样的。



GHL

职务:普通成员
等级:1
金币:0.0
发贴:15
#82004/10/30 10:53:48
ydj在上个帖子中说
引用:
有不有方法,不刷新,而将对方发的消息自动出现在自己的聊天匡里啊?


刷新是不能避免的,不过可以在一个隐藏的IFrame刷新,用Js把结果输出到聊天界面。

查查有关.InsertAdjacentHTML的资料就明白了。:)



黑睿

职务:普通成员
等级:1
金币:0.0
发贴:7
#92004/11/3 6:39:56
不刷新可能要用“推技术”吧,不过Asp好像不能,曾见一鹤发表过一个组件,但是我无缘得见,也不了解那东西到底行不行。
不过看他的介绍看样子不错,还有一个办法,是笨方法啦,用javascript + xmlhttp组件来实现无刷新,当然这也是假的,不刷新怎么可能,只是这方法可以让IE的状态栏不会出现读取进度条,也是要写时读取数据,和定时刷新没啥区别,只是用户感觉不到刷新。



缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
#102004/11/3 10:26:20
xmlhttp会引起浏览器假死,还是不要用的好.



黑睿

职务:普通成员
等级:1
金币:0.0
发贴:7
#112004/11/3 11:00:01

引用:
xmlhttp会引起浏览器假死,还是不要用的好.


那是因为你使用的是同步方式,如果你改成异步方式的话就不会造成浏览器假死了。
我就有一个小聊天室,写的挺太烂的,只是为了学习才做的,用的就是xmlhttp组件,速度将就,自己玩儿还可以,一点都不卡的,主要是在javascript下xmlhttp异步获取数据,这个网上有介绍的,看一下就可以了。



缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
#122004/11/3 12:31:17
黑睿在上个帖子中说
引用:

引用:
xmlhttp会引起浏览器假死,还是不要用的好.


那是因为你使用的是同步方式,如果你改成异步方式的话就不会造成浏览器假死了。
我就有一个小聊天室,写的挺太烂的,只是为了学习才做的,用的就是xmlhttp组件,速度将就,自己玩儿还可以,一点都不卡的,主要是在javascript下xmlhttp异步获取数据,这个网上有介绍的,看一下就可以了。


原来如此,多谢指点.



黑睿

职务:普通成员
等级:1
金币:0.0
发贴:7
#132004/11/3 18:02:50
不客气,我可能还不如你呢,只不过我用过这东西。



缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
#142004/11/4 0:10:58
之前做一个项目的时候大量运用了XMLHTTP,结果浏览器假死放弃了,采取了其他方法.当时也知道是同步的问题,但是却一直没有深入的想.原来参数里面就可以设置的,我还以为XMLHTTP就是同步的,惭愧,呵呵