就像在 facebook.com 或 Gmail 中一样,如果您在页面上脱机/连接松动,您将收到“有些出错,尝试在 x:xx 秒内连接”或“您已失去连接”..
他们是如何做到的,以便他们可以发送离线消息?怎么做?例子?
就像在 facebook.com 或 Gmail 中一样,如果您在页面上脱机/连接松动,您将收到“有些出错,尝试在 x:xx 秒内连接”或“您已失去连接”..
他们是如何做到的,以便他们可以发送离线消息?怎么做?例子?
Facebook 和 Gmail 在一定的时间间隔内不断地使用 Ajax 请求轮询服务器。如果服务器在一定时间内没有响应,他们会给出错误信息。就那么简单。
简单的例子:
window.setInterval(function() {
try {
myFavoriteAjaxLib.poll('/server/heartbeat/time/1234567890');
} catch(e) {
alert('Something went wrong');
}
}, 5000);
当然,您将在现实世界中拥有更复杂的东西。你会经常看到心跳的东西。SO也使用一个。在浏览器的地址栏中输入以下内容:
javascript:for(i in heartbeat) alert(i +':'+ heartbeat[i]);
或使用 Firebug 检查 DOM。