- PR -

ユーザがブラウザの「×」ボタンを押したイベントを取得する方法。

1
投稿者投稿内容
eiwuser
会議室デビュー日: 2004/05/11
投稿数: 13
投稿日時: 2005-01-31 15:29
JSP/ServletでWEBアプリの開発を行っています。
このWEBアプリでは、ログインした後、ユーザが操作を行った後、
ログアウトするという処理の流れになるのですが、
ユーザが画面上でログアウト処理を行わず、ブラウザの「×」ボタンで画面を
閉じてしまった場合、ログアウト処理を行いたいと考えています。

いろいろと調べたのですが、JavaScriptで「×」ボタンが押されたという
イベントハンドラは無いようです。

皆さんはどのように実装されているでしょうか。
七味唐辛子
ぬし
会議室デビュー日: 2001/12/25
投稿数: 660
投稿日時: 2005-01-31 15:52
なにも考えていないです。
ただ 再度ログインした場合、ログオフしなかったよね ログインするかというメッセージを流してます。
永井和彦
ぬし
会議室デビュー日: 2002/07/03
投稿数: 276
お住まい・勤務地: 東京都
投稿日時: 2005-01-31 16:04
私も基本的には何もしないです。

頑張って頑張ってカラクリ(OnUnloadがむにゃむにゃ等)を作っても、LANケーブル引っこ抜かれたり、突然の停電でクライアントマシンが落っこちたりしてしまうとHTTPの仕組み上、対応不可能だからです。

業務アプリケーションで「絶対に終了処理が必要」なものに関しては「×を押さないでね」にします。ただ、可能な限り「ログアウトしなくても困らない」ようにします。
#例えば、悲観的ロックには時間制限を付ける、もしくは管理者権限で簡単にロックを解除出来るようにする等

一般向けのものに関しては「ログアウトボタンを押してくれると思うな」という考えで設計します(=セッションタイムアウトでの自然消滅待ちで問題が発生しないようにします)
1

スキルアップ/キャリアアップ(JOB@IT)