ユーザーがログインできる 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" />