这似乎是一种常见的抱怨,但我没有看到任何确切的重复,更重要的是我没有看到任何有效的答案,所以我加入了人群。 / p>
我有一些代码
window.onbeforeunload = function() { PubNub.publish(...); };
在用户离开当前页面时将消息发布到PubNub channel。这是一个聊天论坛,我们想要发布用户X不再在房间里的事实。 (请压制建议其他设计的冲动,例如让每个用户发送心跳;这只是我正在玩的玩具项目。)
在另一个浏览器标签中观看频道,我发现当我
时,百分之百的PubNub消息会成功发布偶尔(是和否)我
但显然从来没有我
⌘R
请注意,即使将return "please don't exit";
放入我的onbeforeunload处理程序也会导致发布不明确:有时我在地址栏中输入相同的URL并发布发布,有时我会输入相同的URL并且发布不会发生。
这是Safari的一些怪癖,如果有的话,有一个已知的解决方法吗? 或者,在onbeforeunload事件期间,PubNub.publish()以某种方式“太慢”或“太多线程”才能成功?我真的不明白onbeforeunload是如何工作的。
(目前,可以访问整个代码here,但如果您从现在起一个月内阅读此问题,请注意该链接可能已停用和/或已修复。)
答案 0 :(得分:0)
这就是我们的Presence功能。在这里查看:
http://www.pubnub.com/docs/javascript/overview/presence.html
这样,当您“离开”频道时,Presence系统可以将此广播给有兴趣的人。这是你在找什么?
geremy