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も1つを使用します。ブラウザのアドレス バーに次のように入力します。

 javascript:for(i in heartbeat) alert(i +':'+ heartbeat[i]);

または Firebug で DOM を検査します。

于 2010-05-04T17:40:31.440 に答える