博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php+js+mysql设计的仿webQQ-<7>聊天消息的发送与刷新
阅读量:6358 次
发布时间:2019-06-23

本文共 2201 字,大约阅读时间需要 7 分钟。

<12>消息的发送

Js文件

function sendMessage(friendEmail,chat,text){	var xmlhttp;	if(window.XMLHttpRequest){//code for IE7+, Firefox, Chrome, Opera, Safari		xmlhttp=new XMLHttpRequest();		if(xmlhttp.overrideMimeType){//设置MIME类别			xmlhttp.overrideMimeType("text/xml");			}		}	else{//code for IE6, IE5		xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");		}	var today=new Date();     //获取本地时间	var y=today.getFullYear();	var mo=today.getMonth()+1;    //因为js获取本地时间的月份的值的范围是0-11,所以在这里加1	var d=today.getDate();	var h=today.getHours();	var mi=today.getMinutes();	var s=today.getSeconds();	var sendtime=y+"-"+mo+"-"+d+" "+h+":"+mi+":"+s;	var url="sendMessage.php?friendEmail="+friendEmail.id+"&text="+text+"&sendtime="+sendtime;   //转到php文件来处理消息	xmlhttp.open("GET",url,true);	xmlhttp.onreadystatechange=function(){		if (xmlhttp.readyState==4 && xmlhttp.status==200){			document.getElementById(chat).innerHTML+=xmlhttp.responseText;			var e=document.getElementById(chat);			e.scrollTop=e.scrollHeight;         //该语句使滚动条永远在最下面			}		}    xmlhttp.send(null);   	}

PHP文件

".$nickname." [".$sendtime."]
"; echo $text; echo "
"; }else { echo "消息写入数据库失败!"; }?>

<13>消息的刷新

Js文件

function refreshChatDiv(obj,chatDivID){	var xmlhttp;	if(window.XMLHttpRequest){//code for IE7+, Firefox, Chrome, Opera, Safari		xmlhttp=new XMLHttpRequest();		if(xmlhttp.overrideMimeType){//设置MIME类别			xmlhttp.overrideMimeType("text/xml");			}		}	else{//code for IE6, IE5		xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");		} 	var url="refreshChatDiv.php?friendEmail="+obj.id;      //转到PHP文件去查询数据库中有没有新的消息	xmlhttp.open("GET",url,true);	xmlhttp.onreadystatechange=function(){		if (xmlhttp.readyState==4 && xmlhttp.status==200){			document.getElementById(chatDivID).innerHTML+=xmlhttp.responseText;			var e=document.getElementById(chatDivID);			e.scrollTop=e.scrollHeight;			setTimeout(function() {refreshChatDiv(obj,chatDivID);},3000);	 //每隔3秒检测一下有没有新的信息			}		}    xmlhttp.send(null);	}

PHP文件

".$row["nickname"]." [".$row["chattime"]."]"."
"; echo $row["message"]; echo "
"; } $updateSQL="update chats set messageState=1 where speaker='".$friendEmail."' and rapper='".$email."'"; mysql_query($updateSQL); }?>

至此,关键的技术点都写出来啦,欢迎大家拍砖!(完)

转载地址:http://owbma.baihongyu.com/

你可能感兴趣的文章
leetcode第一刷_Minimum Depth of Binary Tree
查看>>
pm2-webshell —— 基于浏览器的终端控制台
查看>>
Mysql基准测试
查看>>
Session 撰改演示
查看>>
【转】python3 发邮件实例(包括:文本、html、图片、附件、SSL、群邮件)
查看>>
事务隔离级别(图文详解)
查看>>
canvas系列教程08-canvas各种坑
查看>>
浅析package.json中的devdependencies 和 dependencies
查看>>
又一个 iOS 侧边栏组件: SideMenu
查看>>
vue.js 打包遇到的问题
查看>>
【译】更优秀的GraphQL官方中文文档-客户端如何使用
查看>>
git pull遇到的问题
查看>>
eclipse下maven spring项目环境配置
查看>>
无缝轮播
查看>>
CTS失败项分析(2)android.telephony.cts.VisualVoicemailServiceTest#testFilter_data
查看>>
三分钟,轻松了解Dapp
查看>>
GMQ交易平台满足不同客户群体的多种投资需求
查看>>
大数据开发如何入门你必须知道这些
查看>>
关于js(es5)如何优雅地创建对象
查看>>
阿里云前端周刊 - 第 28 期
查看>>