编程语言
首页 > 编程语言> > javascript-用户离开页面时在Seam中结束对话

javascript-用户离开页面时在Seam中结束对话

作者:互联网

当用户离开页面时,有什么方法可以结束Seam 2中的对话吗?我知道,我当然可以在导航规则中结束对话(请参阅this post),但是当用户在浏览器的地址栏中输入网址时,我想结束对话.

是否可以通过Javascript(例如onbeforeunload)来实现?但是如何通过javascript停止对话?

解决方法:

I want to end a conversation when the user enters an url in the
address bar of the browser.

Could this be achieved via Javascript (for example with
onbeforeunload)? But how to stop a conversation via javascript?

您可以使用JavaScript来实现onbeforeunload事件,并可以使用AJAX交流离开该网站的用户并结束所有对话.但是,我不建议您使用此解决方案,因为您不能依赖浏览器上发生的事件,Javascript不是一个好的选择,因为您可以在客户端禁用它(不仅如此,而且浏览器可能会崩溃,网络连接可能会断开,等等.)

我认为实现此目的的另一种方法是在服务器上设置无缝对话超时.您可以尝试减少超时,以便在用户离开您的页面时更快地关闭不活动的会话.

可以通过components.xml中的以下内容来配置会话超时时间:

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

请注意,会话超时仅影响后台会话,仅当会话超时与您的需求相关时,前台会话才会超时.

可以在此article中找到有关会话超时的更多信息.

标签:javascript,seam,seam-conversation
来源: https://codeday.me/bug/20191207/2087218.html