首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当用户离开页面时,在Seam中结束对话

当用户离开页面时,在Seam中结束对话
EN

Stack Overflow用户
提问于 2011-09-29 22:59:53
回答 1查看 941关注 0票数 3

当用户离开页面时,有什么方法可以结束Seam2中的对话吗?我知道,我当然可以在导航规则中结束对话(参见this post),但我希望当用户在浏览器的地址栏中输入url时结束对话。

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-09-30 17:26:25

当用户在浏览器的地址栏中输入url时,我想结束对话。

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

您可以使用JavaScript实现一个onbeforeunload事件,并使用AJAX与离开站点的用户通信并结束所有对话。然而,我不建议你使用这种解决方案,因为你不能依赖于浏览器上发生的事件,Javascript不是一个好的选择,因为你可以在客户端禁用它(不仅如此,浏览器可能会崩溃,网络连接可能会中断,等等)。

我认为另一种方法是在服务器上设置一个seam conversation timeout。您可以尝试减少超时,以便在用户离开页面时更快地关闭非活动对话。

可以通过在components.xml中执行以下操作来配置会话超时时间

代码语言:javascript
复制
<core:manager conversation-timeout="700000" />

请注意,会话超时仅影响background会话,foreground会话仅在会话超时时才会超时,这与您的要求相关。

有关对话超时的更多信息,请参阅此article

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7599288

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档