OA短消息提醒功能功能怎么实现

时间:2022-08-31 20:55:45
在我的OA系统中,当用户A和用户B同时在线的时候,A向B发送短消息,系统中通过什么机制来自动弹出提醒窗口。

24 个解决方案

#1


可以用ajax技术,每隔一段时间访问一个后台页面。那个后台页面里读数据库中消息表的纪录,如果是新的则返回true。
前台读到了就弹出窗口。

#2


因为 B/S 的系统里很难实现推模型,所以其实还是用传统的做法。
具体来说,就是你的页面有一个部分去定时循环调用 xmlhttp 读取后台的数据(消息表),如果有新的,则用声音,文字等等提示用户即可。
定时的功能可以用 js 里面的 window.setInteval 函数。
或者你用一个隐藏的 iframe 定时 postback 也可以。


#3


因为 B/S 的系统里很难实现推模型,所以其实还是用传统的做法。
具体来说,就是你的页面有一个部分去定时循环调用 xmlhttp 读取后台的数据(消息表),如果有新的,则用声音,文字等等提示用户即可。
定时的功能可以用 js 里面的 window.setInteval 函数。
或者你用一个隐藏的 iframe 定时 postback 也可以。


#4


不好意思,刚才提示“回复失败”,多回了一遍。


#5


不错

#6


谢谢NeiChen123,能否给个例子。

#7


做过这方面的提醒功能的老师们谈谈撒。

#8


JS代码写的比较烦,还有简单的

比如A给B发  

假设OA系统上有一个页面是始终存在的,假设是a.aspx ,当然,它的宽度可能是0 长度也可能是0 ; 那我们不官

我们可以让a页面自刷新( 5秒刷新一次 ) ,放在一个IFrame中  ,那么a可以不断的刷新,读取数据库中是否有新的消息(也就是新记录) ,如果有记录,弹个窗口出来(那就是消息窗口, Response.Write (" <script>window.open ('Message.aspx')</script>" ) 就可以了) ,如果没有,刷刷刷







#9


这样呀。那不是很增加服务器的负担。我如果在线的人很多,那服务器停的刷。有点受不起呀,还有没有更好的办法。

#10


所以OA是有人数限制的..............
按人数来收费的....................
不是毫无关系

上面的ajax ,setInteval 都是这种机制的.....
因为b/s的模式限制

#11


POUP来实现

#12


如果需要的话楼主可以给我来个邮件jxdyzwh@163.com,我发个例子给你

#13


在你没有请求的时候,Sever不会发送给浏览器任何东西........
(要不然你麻烦了,保证你一开机,满屏幕都是广告窗口.....)

在你收到消息的时候,你一定是向Sever请求了什么......

#14


还有没有更好的办法。

#15


直接给一个例子看看

#16


RTC

#17


大虾们,请说的详细写,我是个刚入门的。我只想知道,在系统中用什么机制知道用户A给用户B发送了邮件或消息什么的,系统中怎么去检测数据库中用户B有新的消息,然后去触发客户端弹出提醒窗口。

#18


可以这样:在服务器端建一个消息池机制,只有一个线程在不停的扫描数据库把新消息加入池中。然后用一个客户端都从这个池中取消息。
javabean+xmlhttp就可搞定

#19


兄弟们别急,给我来邮件的都发了个例子,呵呵,都能满足各位的需求,好东西,大家一起分享!

#20


阳光男孩,我给你去了邮件,怎么还不回呀,我急了。在说一下我的邮箱:daijane@126.com,记住了。

#21


mark

#22


兄弟们,我给你们都发了,呵呵,对了,实现poup的功能得有ie5.5版本以上才有用,楼主可以结贴了

#23


OA一般都有公用的head,把判断写在那里面不就行了。当他每打开一个页面都会做判断。

#24


接帖了

#1


可以用ajax技术,每隔一段时间访问一个后台页面。那个后台页面里读数据库中消息表的纪录,如果是新的则返回true。
前台读到了就弹出窗口。

#2


因为 B/S 的系统里很难实现推模型,所以其实还是用传统的做法。
具体来说,就是你的页面有一个部分去定时循环调用 xmlhttp 读取后台的数据(消息表),如果有新的,则用声音,文字等等提示用户即可。
定时的功能可以用 js 里面的 window.setInteval 函数。
或者你用一个隐藏的 iframe 定时 postback 也可以。


#3


因为 B/S 的系统里很难实现推模型,所以其实还是用传统的做法。
具体来说,就是你的页面有一个部分去定时循环调用 xmlhttp 读取后台的数据(消息表),如果有新的,则用声音,文字等等提示用户即可。
定时的功能可以用 js 里面的 window.setInteval 函数。
或者你用一个隐藏的 iframe 定时 postback 也可以。


#4


不好意思,刚才提示“回复失败”,多回了一遍。


#5


不错

#6


谢谢NeiChen123,能否给个例子。

#7


做过这方面的提醒功能的老师们谈谈撒。

#8


JS代码写的比较烦,还有简单的

比如A给B发  

假设OA系统上有一个页面是始终存在的,假设是a.aspx ,当然,它的宽度可能是0 长度也可能是0 ; 那我们不官

我们可以让a页面自刷新( 5秒刷新一次 ) ,放在一个IFrame中  ,那么a可以不断的刷新,读取数据库中是否有新的消息(也就是新记录) ,如果有记录,弹个窗口出来(那就是消息窗口, Response.Write (" <script>window.open ('Message.aspx')</script>" ) 就可以了) ,如果没有,刷刷刷







#9


这样呀。那不是很增加服务器的负担。我如果在线的人很多,那服务器停的刷。有点受不起呀,还有没有更好的办法。

#10


所以OA是有人数限制的..............
按人数来收费的....................
不是毫无关系

上面的ajax ,setInteval 都是这种机制的.....
因为b/s的模式限制

#11


POUP来实现

#12


如果需要的话楼主可以给我来个邮件jxdyzwh@163.com,我发个例子给你

#13


在你没有请求的时候,Sever不会发送给浏览器任何东西........
(要不然你麻烦了,保证你一开机,满屏幕都是广告窗口.....)

在你收到消息的时候,你一定是向Sever请求了什么......

#14


还有没有更好的办法。

#15


直接给一个例子看看

#16


RTC

#17


大虾们,请说的详细写,我是个刚入门的。我只想知道,在系统中用什么机制知道用户A给用户B发送了邮件或消息什么的,系统中怎么去检测数据库中用户B有新的消息,然后去触发客户端弹出提醒窗口。

#18


可以这样:在服务器端建一个消息池机制,只有一个线程在不停的扫描数据库把新消息加入池中。然后用一个客户端都从这个池中取消息。
javabean+xmlhttp就可搞定

#19


兄弟们别急,给我来邮件的都发了个例子,呵呵,都能满足各位的需求,好东西,大家一起分享!

#20


阳光男孩,我给你去了邮件,怎么还不回呀,我急了。在说一下我的邮箱:daijane@126.com,记住了。

#21


mark

#22


兄弟们,我给你们都发了,呵呵,对了,实现poup的功能得有ie5.5版本以上才有用,楼主可以结贴了

#23


OA一般都有公用的head,把判断写在那里面不就行了。当他每打开一个页面都会做判断。

#24


接帖了