使用ajax做右下角弹出提示

来源:互联网 发布:opera for ubuntu 编辑:程序博客网 时间:2024/05/01 07:02

记得以前做自动提醒都是使用iframe框架,在一个框架里不停的刷新.检测是否有新的消息.但在使用类似于MSN的提醒中,弹出的提示框信息都是在iframe框架中显示.即当iframe框架不可见时,提示信息也就看不到.并且在整个页面效果上还的考虑一些浏览器对框架的支持.

使用ajax技术,分两部分来说明.首先是后台的处理.这里我是在网上下载的ajax dll文件(schwarz-interactive.de, Michael Schwarz,版本5.7.22.2),减少自己写ajax common的时间.

后台代码开起来是相对的简单.对ajax.dll的引用(webconfig中需要添加对ashx的处理).调用页面的加载(page_load)中增加一行代码注册,我这使用页面为index.aspx(class为index)

ajax.Utility.RegisterTypeForajax(GetType(index))

然后增加一个需要通知的函数.下面是一个邮件信息通知的函数.string类型返回邮件的信息.

Public Function GetdealMessageShow(ByVal v As String) As String
Dim userid As Integer
Try userid = CType(v, Integer) REM v为个人ID信息
Catch ex As Exception
Exit Function
End Try
Dim value As String = datacls.Email_TopDealinfo(userid) REM 数据处理放在datacls中
Return value
End Function

需要说明的是必须加上并且使用public 声明,本人曾采用friend.会提示出错.

这样后台的程序完成了.现在在前台的页面中加入javascript调用即可.

function CheckIsNewSystemInfo()
{
var v=document.getElementById('Hiddenuserid').innerHTML ;
index.GetdealMessageShow(v,GetdealMessageShow_callback);
//index与后台的RegisterTypeForajax类型一致.
}
function GetdealMessageShow_callback(res)
{
var s=res.value; if(s!='' && s!=null)
{
var strTmp=s.split("|");
document.getElementById('PopupWin1titleEl').innerHTML ='::::::系统提示::::::'; document.getElementById('PopupWin1aCnt').innerHTML=''+strTmp[0]+''+strTmp[1];
//strTmp[0]为ID,主要是用于关闭提示窗时去掉已提醒的信息,strTmp[1]为内容
PopupWin1espopup_winLoad();
}
}

在页面的最底部加入一段javascript ,让它每5秒中自动执行一次读取服务器信息.

window.setInterval("CheckIsNewSystemInfo()",5000);

最后加上提示框代码.

本文来源于 WEB开发网 原文链接:http://www.cncms.com.cn/ajax/9686.htm

原创粉丝点击