我们有几个用户可以登录的 Web 应用程序。单击注销按钮时,必须处理一些逻辑。问题是大多数用户没有点击注销按钮就关闭了浏览器。我尝试了以下方法在浏览器关闭时调用我的逻辑:
- 将事件“onbeforeunload”添加到我的框架集中。在浏览器关闭时,将调用注销功能。
- 在我的注销功能中,我使用 primefaces p:remoteCommand 组件来调用服务器上的操作侦听器。
在当前的 Firefox 版本中,一切正常,但 IE9 有一些问题。在 IE9 中关闭选项卡调用我的逻辑。关闭浏览器不起作用。调用了我的 JS 函数,但未执行对服务器的请求。有没有办法解决这个问题?顺便说一句:我知道这不是一个 100% 的解决方案,但我们确实需要这个功能。我的函数和 p:remoteCommand 看起来像这样。
function automaticLogout() {
handleAutomaticLogout();
alert('BlaBla');
}
<p:remoteCommand name="handleAutomaticLogout" actionListener="#{myBean.handleAutomaticLogout}" async="false" />