0

Web プロジェクト用のニュース フィード モジュールを開発しています。ニュース フィード アクティビティ (投稿、フィルターなど) は、Facebook とほとんど同じです。ユーザーがページを下にスクロールする (無制限のスクロール) ときに、ページごとにニュースを初期化するページネーション パターン (例: スクロールごとに 20 の投稿) を使用しました。

あなたの友達が投稿を共有したときに、Facebook が現在のニュースをどのように初期化するのか疑問に思います。新しい投稿が存在するかどうかを取得するために ajax リクエストを送信するトリガーを使用していると思います。タイマー トリガー (10 秒ごとに ajax リクエストを送信する JavaScript タイムアウト機能を使用) を使用しても、この問題の効果的な解決策にはなりません。

他にトリガーとなるアドバイスはありますか?

前もって感謝します。

4

1 に答える 1

0

ホームページのネットワーク アクティビティを監視するhttps://pct.channel.facebook.com/pullと、いくつかの固有のパラメーターが関連付けられた への呼び出しが表示されます。それを見ていると、呼び出しにかかる時間が 1 秒から 60 秒まで可変であることがわかります。

これはLong-Pollingと呼ばれ、サーバーは新しい情報が利用可能になるまで待機して応答を返します。その間、エンドポイントがロードされているかのように、HTTP 呼び出しは中断されます。サーバーは、利用可能な情報を見つけると、データを含む応答を送信し、接続を閉じます。その後、クライアントはデータを受信すると、別の HTTP 呼び出しで接続を再開します。

于 2013-04-09T18:13:36.473 に答える