0

私は AJAX (少し) を使用して 1 つの Web チャット プログラムを作成しています。両方のユーザーがチャットページを開くと機能しますが、一方のユーザーが他のユーザーにデータを送信するときにウィンドウを開きたいです。

4

4 に答える 4

1

両方のユーザーが(あなたが制御する)共通のWebページを開いていない限り、これは不可能です。ただし、解決策を提供するために、いくつかの仮定に同意しましょう。

  1. 両方の訪問者があなたのホームページにいます
  2. 訪問者の1人がチャットウィンドウを開き、メッセージを入力します。

そのメッセージが入力されたら、AJAXを使用してメッセージをサーバーに送信します。この時点で、先に進んでメッセージをデータベースに保存するのがおそらく最善でしょう(その部分で私の2セントの価値があります)。ホームページは、AJAXを使用してメッセージをポーリングするように設定する必要があります(このアプリケーションの目的に応じて、30秒ごとに行うことをお勧めします)。新しいメッセージを受信すると、チャットウィンドウ(window.open(url))を開いて応答し、ディスカッションを開始できます。

于 2012-11-09T16:20:37.553 に答える
1

両方のユーザーがあなたのウェブページを開いている必要があります。これが基本的な要件です。その後、両方のユーザーがページでアクティブになったら、AJAX を使用して、ユーザー名を取得し、その特定のユーザーに未読の新しいメッセージがあるかどうかをページに通知するデータをポップするサーブレットにフィードできます。新しいメッセージがある場合は、Javascript を介して自動的にウィンドウを開き、メインのチャット ページに移動します。これは多くのライブ チャット アプリケーションで行われ、ユーザーがサイト上を移動すると突然ポップアップが表示され、チャット用のウィンドウが開きます。

于 2012-12-10T15:53:02.360 に答える
0

メッセージを受信したときに新しいウィンドウを開くには、JavaScriptを作成する必要があるようです。メッセージをどのように送信していますか-Ajaxを逆にしますか?

おそらく、両方のユーザーがチャットアプリケーションのWebページを開いて、逆ajaxフックコードを配置する場所を確保する必要があります。

于 2008-10-21T08:07:14.330 に答える
0

一部のJSコードを使用して新しいウィンドウを開くことはできませんか?

winRef = window.open( URL, name [ , features [, replace ] ] )
于 2008-10-21T08:07:15.873 に答える