できる限りこれを説明しようと思います。ただし、基本的には、メッセージや通知などの動的コンテンツがあるWebサイトでは、メッセージが到着したらすぐにこの情報をユーザーに表示する必要があります。ユーザーに新しいメッセージが送信された例は、Webサイトのヘッダーにカウントが含まれるバブルを表示します。
最近、ほぼすべてのWebサイトでこのようなものが見られますが、そのような機能を実装するための最良の方法がわかりません。
私の最初のアイデアは、ajax呼び出しを作成し、これをsetInterval
呼び出しでラップして、30秒ごとに要求されるようにすることでした。ここでの明らかな問題は、a)リクエストを30秒待つ必要があり、b)サーバーに1日に何百回もリクエストする可能性があり、実際の新しいコンテンツが表示されない可能性があることです。
私の2番目の考えは、EventListenersを使用することでした。これは、サーバーが何かを指示した場合にのみ要求を実行することを理解しているため、EventListenersがより理想的であるように見えるためです。しかし、私はこのようなものを構築する方法を100%確信していません。誰かが簡単な例を作成したり、このようなものの基礎となる何かを指摘したりできますか?
だから私がやりたいことを明確にするために:
メッセージの送信や通知の作成などの新しいことが発生すると、イベントリスナーがページ上の何かを取得して更新するイベントが送信され、情報を含む小さなポップアップが表示されるか、バブルが更新されます。Messages (2)
これを実装するためにCakePHPとjQueryを使用します。だから、これに固有のものは何でも素晴らしいでしょう...うまくいけば誰かが私を助けてくれるでしょう。
基本的に、私はEventListenerとsetIntervalについて、そしてそれがajax呼び出しでどのように機能するかについて質問しています...