3

ユーザーがページを離れたときに Seam 2 で会話を終了する方法はありますか? もちろん、ナビゲーション ルールで会話を終了できることはわかっていますが (この投稿を参照)、ユーザーがブラウザーのアドレス バーに URL を入力したときに会話を終了したいと考えています。

これは Javascript を介して (たとえば onbeforeunload を使用して) 達成できますか? しかし、JavaScript を介して会話を停止するにはどうすればよいでしょうか。

4

1 に答える 1

3

ユーザーがブラウザのアドレスバーにURLを入力したら、会話を終了したい。

これは、Javascriptを介して(たとえば、onbeforeunloadを使用して)実現できますか?しかし、JavaScriptを介して会話を停止する方法は?

JavaScriptを使用してonbeforeunloadイベントを実装し、AJAXを使用して、サイトを離れるユーザーに連絡し、すべての会話を終了することができます。ただし、ブラウザで発生するイベントに依存できないため、このソリューションはお勧めしません。Javascriptはクライアント側で無効にできるため、適切なオプションではありません(それだけでなく、ブラウザがクラッシュする可能性があります。ネットワーク接続が切断されるなど)

これを行う別のアプローチは、サーバーにシームを設定することだと思いconversation timeoutます。ユーザーがページを離れたときに、非アクティブな会話をより速く閉じるために、タイムアウトを減らすことができます。

会話タイムアウト期間の構成は、次の方法で実行できますcomponents.xml

<core:manager conversation-timeout="700000" />

background会話タイムアウトは会話にのみ影響することに注意してくださいforeground。会話は、要件に関連するセッションがタイムアウトした場合にのみタイムアウトします。

会話のタイムアウトの詳細については、この記事を参照してください。

于 2011-09-30T09:26:25.293 に答える