1

就像在 facebook.com 或 Gmail 中一样,如果您在页面上脱机/连接松动,您将收到“有些出错,尝试在 x:xx 秒内连接”或“您已失去连接”..

他们是如何做到的,以便他们可以发送离线消息?怎么做?例子?

4

1 回答 1

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。

于 2010-05-04T17:40:31.440 回答