csdn的站内短信提示是怎么实现的?

roydu 2006-04-08 12:03:43
不刷新页面就能及时提示,这个是怎么做的?

还有就是声音怎么出来
...全文
423 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
daye2t 2006-05-22
  • 打赏
  • 举报
回复
实现的原理就是,利用脚本定时刷新一个页面,以达到即时效果
Fooo 2006-04-28
  • 打赏
  • 举报
回复

Mark
lubosun 2006-04-28
  • 打赏
  • 举报
回复
学习一下
webwait 2006-04-08
  • 打赏
  • 举报
回复
<script language="javascript">
<!--

function CheckNewMessage(){
var Url = "http://message.csdn.net/newMessage.aspx";
var nn = Math.floor( Math.random() * 2000000);
Url += "?time="+nn;
var ScriptName = "CheckUserHasNewMessage";
var head= document.getElementsByTagName("head").item(0);
var old = document.getElementById(ScriptName);
if (old) head.removeChild(old);

var script = document.createElement("SCRIPT");
script.src = Url;
script.defer = true;
script.type = "text/javascript";
script.id = ScriptName;
head.appendChild(script);
setTimeout("CheckNewMessage()",300000);
}

function getElement(id, d) {
if (!d) d = document;
if (d.getElementById) {
return d.getElementById(id);
}
if (d.layers && d.layers[id]) {
return d.layers[id];
}
if (d.all && d.all[id]) {
return d.all[id];
}
}

function ShowADPic()
{
getElement("Pre_Link").innerHTML = "<a href='http://job.csdn.net/Jobs/badaf2f8deac4dc2a573c63a06c8f7ad/viewcompany.aspx' target='_blank'><img id='Pre_Img' border='0' name='Pre_Img' src='http://images.csdn.net/upimgs/21067_3.gif' alt='广告' width='210' height='67' /></a>";
}

function ShowDefaultPic(){
// 临时推广用
ShowDearBook();
//getElement("Pre_Link").innerHTML = "<img id='Pre_Img' border='0' name='Pre_Img' src='/logo/Images/eye001.gif' alt='请保护好自己的眼睛' width='210' height='67' />";
}

function ShowNewYear()
{
getElement("Pre_Link").innerHTML = "<img id='Pre_Img' border='0' name='Pre_Img' src='/logo/Images/newyear.jpg' alt='新年快乐、恭喜发财' width='210' height='67' />";
}

function ShowDearBook()
{
getElement("Pre_Link").innerHTML = "<a href='http://www.dearbook.com.cn/2006/cc2e/index.htm' target='_blank'><img id='Pre_Img' border='0' name='Pre_Img' src='/logo/images/cc2e.jpg' alt='DearBook' width='210' height='67' /></a>";
}

function ShowDearBookPic(){
/*
var vv = Math.random()*10;
if( vv > 5)
{
ShowNewYear();
}
else
{
*/
// 临时推广用
ShowDearBook();
//}
}


function ClickNewMessage(){
ShowDefaultPic();
window.open("http://message.csdn.net/ListMessage.aspx?type=newMessage");
}

function ShowNewMessagePic(){
var textt = "<a href='JavaScript:ClickNewMessage();'><img id='Pre_Img' name='Pre_Img' border='0' src='/logo/Images/Message001.gif' alt='您有新的短消息!' width='210' height='67' /></a><bgsound src='/Logo/Images/newMessage.wav' border='0'>";
getElement("Pre_Link").innerHTML = textt;
}

function TimeFindNewMessage(){
setTimeout("CheckNewMessage()",300000);
}

function YouHadNewMessage(){
var Had = false;
url = "http://message.csdn.net/newMessage.aspx";
var httpRequest;
if (typeof XMLHttpRequest != 'undefined') {
httpRequest = new XMLHttpRequest();
}
else if (typeof ActiveXObject != 'undefined') {
httpRequest = new ActiveXObject('Microsoft.XMLHTTP');
}
if (httpRequest) {
httpRequest.open('GET', url, false);
httpRequest.send(null);
if(httpRequest.status == 200){
var textInfo = httpRequest.responseText;
if(textInfo == "true") Had = true;
}}
if(Had){
ShowNewMessagePic();
}
else
{
ShowDearBookPic();
}
setTimeout("YouHadNewMessage()",300000);
}
//-->
</script>
慢慢看
可爱的排骨 2006-04-08
  • 打赏
  • 举报
回复
setTimeout("CheckNewMessage()",300000);
if(httpRequest.status == 200)
var textInfo = httpRequest.responseText;
SeeSunSet 2006-04-08
  • 打赏
  • 举报
回复
一个读完消息就把状态置1呗.表示消息已发出啊.用户读了之后再置一个状态表示已读.
fumeiyu2 2006-04-08
  • 打赏
  • 举报
回复
请问下,如果打开多个csdn网页,他怎么做到自有1个回传消息回来
beyondjay 2006-04-08
  • 打赏
  • 举报
回复
就是有个数据库里面存消息,过一段时间框架刷一下取数据。

62,067

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧