2011-08-14 8 views
1

私のウェブサイトにノードJSチャットを追加しています。ノードJSチャット - ページまたはクローズウィンドウへのナビゲーションを通知する

$(window).unload(function() { 
    jQuery.get("/leave", {id: session.id}); 
}); 

これは完璧に動作し、ユーザーがウィンドウを閉じたノードJSサーバーに指示しますが、しかし、これも削除します。彼らは、次のjQueryのメソッドを使用して、ウィンドウを閉じると、現時点では私はチャットからユーザをクリアしています彼らがウェブサイト上の別のページにナビゲートする場合、チャットルームからのユーザ。ドメインの別のページに移動してチャットから削除しないかどうかを確認する方法はありますか?彼らは別のページに移動する瞬間、ウィンドウを閉じているかのように扱われます。

乾杯

答えて

0

ユーザーがサーバーではなくクライアントでチャットから離れるときをチェックします。

私が見ることができる唯一の問題は、JavaScriptでページを読み込まない限り、ユーザーがウェブサイトをナビゲートするたびにチャットを離れて再入力するようにすることです。

この問題を回避するには、切断部分のタイムアウトを設定します。それは完璧な解決策ではありませんが、ほとんどの場合はうまくいくでしょう。

あなたがsocket.ioを使用している場合は、ここではいくつかのサーバーコードです:

socket.on('connection', function (client) { 

    client.on('disconnect', function() { 
    client.broadcast({ action: "quit", clientId: client.sessionId }); 
    }); 

}); 

そして、あなたのクライアント側で、あなたはaction === "quit"をチェックし、適切な処置を取ることができます。

関連する問題