私はリッチフェイスを備えたJavaEEでWebアプリケーションを開発しています。ユーザーをログアウトするリンクがあります。ユーザーがページから移動したり、ブラウザをシャットダウンしたりした場合、ユーザーがいつページを離れたかを知る必要があるため、ユーザーをログアウトする必要があります。スニペットは次のとおりです。
function fireEvent(obj,evt){
var fireOnThis = obj;
if( document.createEvent ) {
var evObj = document.createEvent('MouseEvents');
evObj.initEvent( evt, true, false );
fireOnThis.dispatchEvent(evObj);
} else if( document.createEventObject ) {
fireOnThis.fireEvent('on'+evt);
}
}
var popit = true;
window.onbeforeunload = function() {
if(popit == true) {
fireEvent(document.getElementById("logout_form:logout_link"),'click');
}
}
これはブラウザを閉じる場合にのみ機能し、ナビゲーションや更新は機能しません。fireEvent(...)を変更して""を返しました。すべてがうまくいきます。fireEvent(...)の後にreturn ""と入力すると、うまく機能しますが、ダイアログボックスを表示したくありません。どうすればこの問題を解決できますか?