`
入云涛
  • 浏览: 155808 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

QQ实现对话

阅读更多
动态读取数据,实现QQ消息模式
1.使用技术,dwr实现异步数据读取数据,Dom创建html对象
2。html中给table设置ID值
<div style="width: 100%;overflow-x:auto;overflow-y:auto;" id="divide" >
	<table id="t1" style="width: 99%;" cellpadding="0" cellspacing="0" border="1" bordercolor="#DAEBFC">
		
	</table>
</div>
3.添加一行记录公用方法
name,datetime,content是列的值
state是状态,主要是为了实现鼠标放在不同的行显示不同的样式
function innserDate(name,datetime,content,state){
	var tbl= document.getElementById("t1");
	var tb=tbl.appendChild(document.createElement("tbody"));
	var tr=tb.appendChild(document.createElement("tr"));
	tr.attachEvent("onmouseout",function(){
		if(state=="1"){
			setStyle(tr,"background-color:#FFEEDD");
		}else{
			setStyle(tr,"background-color:#F3F4F3");
		}
		
	});
	tr.attachEvent("onmouseover",function(){
		setStyle(tr,"background-color:#DDEEFF");
	});
	if(state=="1"){
		setStyle(tr,"background-color:#FFEEDD");
	}else{
		setStyle(tr,"background-color:#F3F4F3"); 
	}
	tr.setAttribute("height","30px");
	var td1=tr.appendChild(document.createElement("td"));
	td1.setAttribute("align","center");
	td1.setAttribute("width","20%");
	td1.innerText=name;
	var td2=tr.appendChild(document.createElement("td"));
	td2.setAttribute("align","center");
	td2.setAttribute("width","32%");
	td2.innerText=datetime;
	var td3=tr.appendChild(document.createElement("td"));
	td3.setAttribute("align","left");
	td3.setAttribute("width","48%");
	td3.innerText=content;
}
4.设置样式公共方法
function setStyle(element,text) {   
	element.setAttribute("style",text)   
	element.style.cssText=text   
} 
5.dwr设置
com.ekms.query.logic.QueryMessageDWR实现dwr方法
com.ekms.query.logic.AnswerBean:Bean对象,主要是在dwr中使用,value中是相应的AnswerBean的对象
<create creator="new" javascript="QueryMessageDWR">      
	<param name="class" value="com.ekms.query.logic.QueryMessageDWR" />    
</create>
<convert converter="bean" match="com.ekms.query.logic.AnswerBean">
	<param name="include" value="answerId,content,userName,createDate" /> 
</convert>
6.QueryMessageDWR:java方法
public List getMessagaes(Long queryId){
	List<AnswerBean> answerBeanList = new ArrayList<AnswerBean>();
	if(queryId!=null){
		answerBeanList = iFactory.getAnswerDAO().getAnswerListAll(queryId);
	}
	return answerBeanList;
}
7.js 引用dwr
<script type='text/javascript' src='<%=webapp%>/dwr/interface/QueryMessageDWR.js'></script>
<script type='text/javascript' src='<%=webapp%>/dwr/engine.js'></script>  
<script type='text/javascript' src='<%=webapp%>/dwr/util.js'></script>
8.js实现异步请求
setInterval用于设置多久一步请求一次数据库
checkUpdate是QueryMessageDWR的方法,用于查看数据是否被改变,如果改变就跟新,否则就继续请求,只到被关闭会话。
function getDateAjax(){
	var questionId = document.getElementById("questionId").value;
	var userId = document.getElementById("userId").value;
	if(questionId!="" && userId!=""){
		QueryMessageDWR.checkUpdate(replayA,questionId,userId);
	}
}
var replayA = function getState(ans){
	if(ans=="1"){
		getdate();
	}else{
		setInterval("getDateAjax()",30000);
	}
}
function getdate(){
	var questionId = document.getElementById("questionId").value;
	if(questionId==""){
		return "系统提示:暂时不能用户对话";
	}else{
		QueryMessageDWR.getMessagaes(replay,questionId);
		
	}
}
到此为止已经将整个设计思路列出,
分享到:
评论

相关推荐

    DUILIB实现的仿QQ聊天对话窗口

    这个实例"仿QQ聊天对话窗口"将展示如何利用Duilib库来构建一个类似QQ聊天的对话界面。在这个项目中,我们将深入理解Duilib的核心概念、组件以及如何通过源码实现一个功能齐全的聊天窗口。 首先,Duilib是基于...

    一个简单的QQ程序,可以实现多人对话

    【标题】:“一个简单的QQ程序,可以实现多人对话”揭示了这个项目的核心功能,即创建一个基础的即时通讯(IM)应用,允许用户进行多用户间的文字交流。在这个程序中,设计者使用了jdbc(Java Database Connectivity...

    winForm窗体程序实现qq聊天对话

    本主题关注的是如何在winForm应用中实现类似QQ聊天的对话功能,这涉及到网络通信技术,特别是使用Socket进行数据传输。 Socket,也被称为套接字,是网络通信的基本组件,它允许两个网络应用程序之间进行双向通信。...

    与在线QQ对话.rar

    对于IT专业人士来说,了解如何通过编程实现与在线QQ对话是一项有价值的技能。这里我们将深入探讨“与在线QQ对话.rar”这一压缩包中可能包含的知识点,尤其是易语言与在线QQ对话的源码。 易语言是一种基于中文的编程...

    聊天模仿的QQ基本的对话功能

    "模仿的QQ"通常指的是开发者为了学习或研究目的而创建的类似QQ的应用程序,它实现了QQ的一些核心功能,如文本聊天和屏幕截图。 1. **文本聊天**:这是聊天应用的基础功能,用户可以通过输入文字进行实时交流。模仿...

    H5实现websocket聊天对话

    在这个“H5实现WebSocket聊天对话”的项目中,我们将深入探讨WebSocket的基本原理、如何在前端使用WebSocket进行聊天功能的开发,以及可能遇到的问题和解决方案。 1. WebSocket基础知识: WebSocket是一种在客户端...

    QQ(P2P)聊天系统的原理与实现

    本文旨在用Delphi面向对象的方法实现P2P(Peer To Peer)(类QQ)会话系统。本文可作为学习P2P通信与面向对象程序设计的用例。 一、 通信组件:采用TIdUDPServer(属于Indy Servers组件板)。 二、 通信原理::利用P2P之...

    QQ插件 用ASP来实现在线QQ聊天功能

    【描述】:“这是一个简易的ASP程序,包含了图片教程,旨在帮助初学者轻松掌握在线QQ对话功能的开发。这个程序简单易用,非常适合那些刚刚接触ASP编程的开发者。” ASP,全称Active Server Pages,是由微软公司推出...

    网页链接qq代码,临时对话代码

    1. **生成QQ临时对话URL**:QQ提供了特定的URL格式,用于打开QQ对话窗口。这个URL的基本形式通常是`tq://p/?uin=QQ号码&site=网站名称&menu=yes`。其中,"uin"参数是你要与之对话的QQ账号,"site"参数可以设置为你的...

    实现网页中调出QQ对话框

    ### 实现网页中调出QQ对话框 在互联网应用中,提供便捷的沟通方式对于提升用户体验至关重要。在本文中,我们将详细介绍如何在网页上实现调用QQ对话框的功能。这不仅可以帮助用户更快地与网站管理员或客服人员取得...

    点击按钮弹出QQ对话窗口

    本文介绍了如何在网页中实现点击按钮弹出QQ对话窗口的方法,包括使用超链接、确保客户端已安装QQ软件、使用图像链接以及多种调用方式。这些技术不仅可以帮助用户快速建立联系,还能显著提升网站的功能性和用户体验。...

    QQ对话窗口小实例代码部分供参考实现对话窗口

    所以自己也可以利用Qt中的QWidget创建一个提示框,在构建的时候设置背景透明,但是进行窗口隐藏,使用hide()(之所以隐藏是因为登录的时候不显示,只有在登录失败的时候才显示,即调用show()),再登录失败之后调用...

    VC++实现QQ聊天源代码

    VC++实现QQ聊天源代码VC++实现QQ聊天源代码VC++实现QQ聊天源代码VC++实现QQ聊天源代码VC++实现QQ聊天源代码VC++实现QQ聊天源代码VC++实现QQ聊天源代码VC++实现QQ聊天源代码

    网站右侧QQ浮动框,可用于QQ临时对话

    3. **交互**:点击浮动框后,通常会弹出一个新的QQ对话窗口,这需要调用腾讯提供的API接口,或者通过`window.open()`函数打开一个新的URL,该URL指向腾讯的临时会话服务。 4. **兼容性**:由于不同的浏览器可能对...

    在网页中实现在线QQ聊天

    - 如果需要在网页内实现更完整的在线聊天功能,可以考虑使用第三方聊天工具,如环信、腾讯云客服、Tidio等,它们通常提供嵌入式聊天窗口和API,支持与用户进行实时对话。 总的来说,在网页中实现在线QQ聊天主要是...

    一个超强的qq对话程序

    这个程序的核心功能是允许用户输入想要聊天的QQ号码,然后创建一种虚拟的对话环境,即使对方将你拉入黑名单,也能实现“聊天”的效果。然而,值得注意的是,这种程序可能并不符合QQ的使用规则,可能会侵犯到他人的...

    QQ临时对话

    在技术实现上,QQ临时对话可能依赖于QQ的开放接口(API),通过发送特定的请求来发起和接收非好友的聊天信息。同时,它也需要与QQ服务器进行实时同步,以获取和更新用户的在线状态信息。这涉及到网络编程、多线程...

    QQ c#实现qq基本功能

    【标题】:“QQ c#实现qq基本功能” 在IT领域,使用编程语言来实现特定软件的功能是一种常见的实践。本项目聚焦于使用C#这门语言来实现QQ的基本功能。C#,由微软开发,是一种面向对象的编程语言,广泛应用于Windows...

    实现对话框QQ般隐藏

    ### 实现对话框QQ般隐藏 #### 知识点概览 1. **对话框基本概念** 2. **对话框的显示与隐藏机制** 3. **Windows消息处理机制** 4. **C++与MFC(Microsoft Foundation Classes)基础** 5. **定时器在对话框中的应用**...

    listview 实现仿QQ聊天记录

    "listview 实现仿QQ聊天记录"这个话题旨在教你如何利用ListView来创建一个类似QQ聊天界面的效果,这种界面通常包括时间轴、不同用户的对话气泡以及相关的头像等元素。下面将详细介绍实现这一功能所需的关键知识点。 ...

Global site tag (gtag.js) - Google Analytics