如何在页面关闭时可靠地运行代码(例如,网站聊天中的“断开连接”消息)
How to reliably run code on page close (e.g. "disconnected" message on site chat)
我有一个两人的网站聊天(我们和任何有问题的客户),当他们通过任何方式断开连接时,我想显示"$client已断开连接",包括:
- 在浏览器上按返回
- 关闭窗口
- 通过任务管理器关闭浏览器
我还没有找到一种可靠的方法(尝试使用JavaScript的onunload和onbeforunload属性)来处理这一问题,尤其是在使用任务管理器的情况下。
我想做的是让用户不断调用AJAX脚本,在那里他们增加一些服务器端值;当他们的页面关闭时,这种增量将停止。在我们这边,继续运行一个脚本来检查该值是否已更改。如果在任意次数的检查(例如3次)后它没有改变,那么用户可能已经断开连接,它将显示消息。
但这并没有什么优雅之处,"可能是脱节的"也不是一个真正有把握的结论。
如何做到这一点,以确保只有在用户断开连接时才会出现断开连接消息。
实际上,你不能在HTML/JS/CSS上真正实现这一点,一旦用户离开,他们就会断开连接。。也就是说没有效率。
你可以尝试降低轮询之间的间隔,但这会消耗带宽并降低性能(持续的轮询就像一个永远的循环)
他们称之为彗星,这是一个包含"恒定连接"方法的术语,其中之一就是轮询。文章中还介绍了"中间人"方法,您可以使用flash等插件及其流媒体功能。
相关文章:
- 如何识别我的网站中的慢速设备
- Ajax聊天消息重复而不仅仅是更新
- 用Javascript更改我网站上的字体大小
- 有任何可能将facebook实时信使整合到一个网站中
- 将电视直播频道从网站嵌入我的网站
- 在不打开聊天屏幕的情况下制作Zopim-ding代理
- Windows 8固定的网站互动程序
- 门户网站:当地时间有多有用
- 正在删除node.js中已验证的网站
- 如何在浏览器页面切换到我的网站选项卡时创建事件,如gmail中的聊天框状态更改
- 网站的可嵌入叠加聊天
- 如何将我的聊天框分享到其他网站
- 如何在网站上集成Skype聊天
- 如何在页面关闭时可靠地运行代码(例如,网站聊天中的“断开连接”消息)
- 在我的网站上做聊天功能
- 为电子商务网站的聊天应用运行node.js服务器
- 是signalR是聊天应用网站仅
- 模拟我的网站上的聊天消息
- 在合作伙伴网站上添加javascript,以便在不知道其FTP凭据的情况下提供客户聊天支持和销售跟踪
- 任何一个地方我们的聊天工具在他们的网站从