当用户离开页面时,有什么方法可以结束 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
对话只会在与您的要求相关的会话超时时超时。
有关对话超时的更多信息,请参阅本文。