接上—–“模拟qq的消息接收”
qq 的消息发送界面提供了聊天记录,并且你可以通过鼠标轻松地、重复地把聊天记录复制到发消息框里,下面就是我提供的web页里实现的方法(注:此页面的来源为天乐的picq,小白只是添加了一个函数和自己的asp代码,实现了复制的功能!)
下面是显示聊天记录页的主要代码:
<table border="0" width="100%" cellspacing="0" cellpadding="0" bgcolor="#ffffff">
<%
取出聊天记录
touser=trim(server.htmlencode (request.querystring ("touser")))
和该好友的聊天记录
sql="select * from msg where (sender="&session("icqusername")&" and receiver="&touser&" ) or ( sender="&touser&" and receiver="&session("icqusername")&" ) order by msgdate desc"
on error resume next
rs.open sql,conn,1,3
if err.number <> 0 then
response.write err.description
else
response.write rs.recordcount
end if
do while not rs.eof
%>
<tr>
<!–
这里实现复制聊天记录
–>
<td width="100%" class="menuitems" onmouseover="highlightie5()"
onmouseout="lowlightie5()"
ondblclick="javascript:copymessage(this)"
style="cursor;hand"
>
<font color=red>(<%=rs("msgdate")%>) <%=rs("sender")%></font><br>
<%
omsg=changechr2(trim(rs("msg")))
response.write omsg
%><br>
</td>
</tr>
<%
rs.movenext
loop
rs.close
err.clear
%>
</table>
<script language=javascript>
<!–
//把选中的聊天记录复制到发消息框里去
function copymessage(tr){
//parent.document.posttopic.message.value=tr.innerhtml
oldmsg=parent.document.posttopic.message.value
newmsg1=tr.innertext
if(oldmsg != "" ){
newmsg1=oldmsg+"\n"+newmsg1
}
parent.document.posttopic.message.value= newmsg1
}
//–>
</script>
////////////
下面是发送消息页的主要代码:
<body oncontextmenu=self.event.returnvalue=false bgcolor=buttonface leftmargin=0 topmargin=0 language=javascript onunload="return window_onunload()" onload="return window_onload()" onresize="return window_onresize()">
<table width="100%" cellspacing="0" cellpadding="0" align=center>
<form action="messanger_post.asp" name=posttopic
method=post>
<tr bgcolor=buttonface>
<td height="25" nowrap><b><font color="#003366">发送给: </font></b>
<input readonly size="10" value="<%=touser%>" style="background-color: #d4d0c8;
border-bottom-style: solid; border-left-style: solid; border-right-style: solid; border-top-style: solid"
name="touser"
>
<marquee scrollamount=4 onmouseover="this.stop()" onmouseout="this.start()"> <b><font color="#cc0000" >(按alt+s或者ctrl+enter发送) </font></b></marquee></td>
<td align="right" class="coolbutton" onclick=showmodaldialog("userinfo.asp?theuser=<%=touser%>","","help:no;status:no;scrollbar:no;dialogwidth:317px;dialogheight:197px") height="25">
<img alt=用户详细资料 border=0 src="face/<%=face%>" ></td>
<tr> <td valign="top" colspan="2" align="middle"><table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr> <td width="100%"><textarea <% if textline="回复消息" then %> readonly <%end if%> cols=44 name=message onkeydown=presskey() rows=8 style="border-bottom: #ffffff 1px groove; border-left: #ffffff 1px groove; border-right: #ffffff 1px groove; border-top: #ffffff 1px groove; font-size: 9pt; overflow: auto; width: 100%" wrap=hard><%=answer%></textarea></td> </tr>
</table>
</td>
</tr>
<tr>
<td bgcolor="#d4d0c8" colspan="2" align="middle" height="27" width="766" >
<input type="submit" value=<%=textline%> name="b3" onclick=" return check(this.form)" accesskey="s">
<input type="button" value="取消" name="b2" onclick="javascript:window.close()">
<input type="reset" value="重写" name="b1">
<input type="button" value="历史纪录" name="b1" onclick="javascript:showhidehistory()">
</td>
</tr>
</form>
</table>
<table border="0" cellspacing="0" cellpadding="0" id="chathistory" width="100%" height="150">
<tr>
<td align="middle"><iframe
frameborder=1 id=history name=history src="history.asp?touser=<%=touser%>" scrolling=yes width="100%" height="100%"
></iframe>
</td>
</tr>
</table>
<script language=javascript>
document.all[chathistory].style.display=none;
window.resizeto(370, 210);
</script>
</body>
