ユーザーがページを離れたときに Seam 2 で会話を終了する方法はありますか? もちろん、ナビゲーション ルールで会話を終了できることはわかっていますが (この投稿を参照)、ユーザーがブラウザーのアドレス バーに URL を入力したときに会話を終了したいと考えています。
これは Javascript を介して (たとえば onbeforeunload を使用して) 達成できますか? しかし、JavaScript を介して会話を停止するにはどうすればよいでしょうか。
ユーザーがページを離れたときに Seam 2 で会話を終了する方法はありますか? もちろん、ナビゲーション ルールで会話を終了できることはわかっていますが (この投稿を参照)、ユーザーがブラウザーのアドレス バーに URL を入力したときに会話を終了したいと考えています。
これは Javascript を介して (たとえば onbeforeunload を使用して) 達成できますか? しかし、JavaScript を介して会話を停止するにはどうすればよいでしょうか。
ユーザーがブラウザのアドレスバーにURLを入力したら、会話を終了したい。
これは、Javascriptを介して(たとえば、onbeforeunloadを使用して)実現できますか?しかし、JavaScriptを介して会話を停止する方法は?
JavaScriptを使用してonbeforeunload
イベントを実装し、AJAXを使用して、サイトを離れるユーザーに連絡し、すべての会話を終了することができます。ただし、ブラウザで発生するイベントに依存できないため、このソリューションはお勧めしません。Javascriptはクライアント側で無効にできるため、適切なオプションではありません(それだけでなく、ブラウザがクラッシュする可能性があります。ネットワーク接続が切断されるなど)
これを行う別のアプローチは、サーバーにシームを設定することだと思いconversation timeout
ます。ユーザーがページを離れたときに、非アクティブな会話をより速く閉じるために、タイムアウトを減らすことができます。
会話タイムアウト期間の構成は、次の方法で実行できますcomponents.xml
。
<core:manager conversation-timeout="700000" />
background
会話タイムアウトは会話にのみ影響することに注意してくださいforeground
。会話は、要件に関連するセッションがタイムアウトした場合にのみタイムアウトします。
会話のタイムアウトの詳細については、この記事を参照してください。