他们是如何做到这样他们可以发布离线消息?怎么做?示例
答案 0 :(得分:2)
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。