1

サーバーからイベントを取得し、Web ページを更新する必要があるプログラムを開発する必要があります。

たとえば、チャット用に複数のブラウザー タブを開き、各チャット ページにはサーバーからイベントをフェッチするための独自のスレッドがありますが、チャット内の 1 つのスレッドがイベントをフェッチすると、別のチャットによって抽出されるため、他のスレッドよりもイベントの空のスタックが取得されます。ページ。

したがって、ここで私の懸念は、ページを更新せずに複数のチャット ページでイベントを共有することです。

4

2 に答える 2

3

postMessageを使用して、メッセージを取得するタブをドメイン上の他のすべてのページと共有できるように思えます。

postMessage(JSON.stringify({chatmsg: someVarFromServer}), "http://www.mydomain.com");

他のチャット ページでmessageイベントをリッスンします。

window.addEventListener("message", receiveMessage, false);

function receiveMessage(event) {
    // reject foreign messages!
    if (event.origin !== "http://www.mydomain.com") return;

    var message = JSON.parse(event.data).chatmsg;

    // this other page now has the message
}
于 2012-06-04T18:06:45.050 に答える
0

純粋な Javascript で書かれたリアルタイム チャット アプリケーションを開発したい場合は、そのような目標のための堅牢な出発点であるAPEを強くお勧めします (編集: 2021 年にはもうメンテナンスされていないようです)。
フレームワークを使用したくない場合は、クロスブラウザー ソリューションが 2 つあります。

  • AJAX リクエストを定期的に送信してイベントを確認する
  • Flash の XML ソケットなどのイベントを受信するためのサードパーティ アプリケーションを使用する
于 2012-06-04T18:24:27.030 に答える