JS代码如下:

 1//消息
 2        function HeadMessage(alertMsg,hiddenAlertMsg)
 3        {
 4            this.alertFlag = false;
 5            this.intervalId = "";
 6            this.alertMsg = alertMsg;
 7            this.hiddenAlertMsg = hiddenAlertMsg;
 8        }

 9        
10        //初始化定时器
11        HeadMessage.prototype.initAlert = function(functionName)
12        {
13            this.intervalId = setInterval("messageAlert()",1000);
14        }

15        //清除定时器
16        HeadMessage.prototype.clearAlert = function(title)
17        {
18            if(this.intervalId != "")
19            {
20                clearInterval(this.intervalId);
21                this.intervalId = "";
22                document.title = title;
23            }

24        }

25        //Prototype Ajax 获取返回值
26        HeadMessage.prototype.oversee = function(requestUrl)
27        {
28            new Ajax.Request
29            (
30                requestUrl,
31                {
32                    method:"post",
33                    onComplete:function(request)
34                    {
35                        if(parseInt(request.responseText) > 0 && this.intervalId == "")
36                        {
37                            this.initAlert();
38                        }

39                        else if(parseInt(request.responseText) <= 0)
40                        {
41                            this.clearAlert("测试消息提示警告");
42                        }

43                    }

44                }

45            )
46        }

47        //测试方法
48        HeadMessage.prototype.overlook = function(id)
49        {
50            var textVal = document.getElementById(id).value;
51            if(parseInt(textVal) > 0 && this.intervalId == "")
52            {
53                this.initAlert();
54            }

55            else if(parseInt(textVal) <= 0)
56            {
57                this.clearAlert("测试消息提示警告");
58            }

59        }

60        //闪烁判断
61        function messageAlert()
62        {
63            if(msg.alertFlag)
64            {
65                msg.alertFlag = false;
66                document.title = msg.alertMsg;
67            }

68            else
69            {
70                if(msg.intervalId  != "")
71                {
72                    document.title = msg.hiddenAlertMsg;
73                    msg.alertFlag = true;
74                }

75            }

76        }

 

HTML模拟测试代码如下:

 

 1<html>
 2    <head>
 3        <title>测试消息提示警告</title>
 4        <script type="text/javascript" src="/js/prototype.js"></script>
 5        <script type="text/javascript" src="/js/headmessage.js"></script>
 6        <script type="text/javascript">
 7        var msg = new HeadMessage("【新消息】","【   】");
 8        function overseeState()
 9        {
10            var intervalId = setInterval("msg.overlook('tId')",1000);
11        }

12        overseeState();
13    
</script>
14    </head>
15    
16    <body>
17        <input type="text" id = "tId" name = "tId"/>
18    </body>
19</html>

 

后台是否有新消息的检测想来不会是每一次请求,都对数据库进行一次查询,特别是像这般大量用户,如此频繁的数据请求,肯定将会对服务器性能和资源造成巨大的压力.至于如何实现,没有源码,仅仅只能去猜测一翻了(了解有限...努力学习啊).

posted on 2008-11-08 19:03  .Net Learning  阅读(1015)  评论(0编辑  收藏  举报