- PR -

【ASP.NET2.0&VB.NET】Unloadイベントについて

1
投稿者投稿内容
なびっと
会議室デビュー日: 2007/04/09
投稿数: 9
投稿日時: 2007-07-04 16:06
お世話になります。

現在、ASP.NET2.0&VB.NETにて開発を行っています。
マスターページを採用しております。

実現したいこと)
ブラウザの「×」ボタンで終了された場合のみ
(アプリ側の終了ボタンを使わない場合)
アラートもしくは警告メッセージを出す画面を起動したいのですが、

現状)
マスターページのBodyタグのOnUnLoadにて、
上記を実現するJavaScriptのメソッドを
記述しております。
しかし、マスターページのUnloadイベントだけでなく、
コンテンツページのUnloadイベントでも同じメソッドが動作してしまいます。
そのため、コンテンツページのUnloadにてアラートが表示されます。
※formタグのOnSubmitにてフラグ(=ON:出さない、OFF:出す)をたてているのですが、
 マスターページのUnloadではON
コンテンツページのUnloadではOFFになります。

現状ソース)
・マスターページ
<body onunload="funcOnUnLoad()">
・JavaScript外部ファイル
function funcOnUnLoad()
{
alert('ブラウザ×はおさないで');
}

上記方法以外でもOKですので、解決法はありますでしょうか?
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2007-07-05 01:11
どの部分がわからなくてどうしたいですか?

そもそもコンテンツの unload ってイメージがわかないんですが。。。
ajax でも使っていない限り masterpage と同じタイミングで unload されませんか?
_________________
かるあ のメモスニペット
なびっと
会議室デビュー日: 2007/04/09
投稿数: 9
投稿日時: 2007-07-05 09:26
>かるあさん
返信ありがとうございます。

出力HTMLを見るとBodyタグが1つしかないのに、
JavaScriptのfuncOnUnLoadメソッドが2回走ることが問題になってます。
指定が間違っているのでしょうか?

外部ファイルの中で、サブミットボタンを押したかどうかを
判定するフラグを立てて、funcOnUnLoadメソッドで判定しているのですが、
マスターページ、コンテンツページの順で走ります。
マスターページではフラグが正しく見れているのですが、
コンテンツページではフラグが初期値に戻り、正しく判定されません。

じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2007-07-05 10:37
引用:

なびっとさんの書き込み (2007-07-04 16:06) より:

alert('ブラウザ×はおさないで');


ということは、[終了] ボタンか何かで確実に何かを処理したいとかそういう理由があってのことでしょうか? もしそうだとするとですが、このような不確実なものは推奨されないです。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
なびっと
会議室デビュー日: 2007/04/09
投稿数: 9
投稿日時: 2007-07-10 10:26
じゃんぬねっと様
ご返信ありがとうございます。

画面に[終了]ボタンがありまして、
その終了ボタン以外でブラウザを落とした場合に、
メッセージを出力したいのですが、他に方法などご存知でしたら、
ご教示願います。
(参考URLなどありましたらお願い致します。)
かるあ
ぬし
会議室デビュー日: 2003/11/16
投稿数: 1190
お住まい・勤務地: センガワ→ムサシノ
投稿日時: 2007-07-10 13:07
引用:

なびっとさんの書き込み (2007-07-10 10:26) より:

画面に[終了]ボタンがありまして、
その終了ボタン以外でブラウザを落とした場合に、
メッセージを出力したいのですが、他に方法などご存知でしたら、
ご教示願います。


どのイベントも発生したりしなかったりするので、メッセージは気休め程度にしかならないとおもいます。
終了処理ではメッセージを出す以外どんな処理をしようとしていましたか?
ブラウザのunloadイベントは起きたりおきなかったりするため、ブラウザが突然閉じられても問題が起きないようにプログラムを作成する必要があります。

参考になるかわかりませんが、MSDNフォーラムでこんなスレッドもありました。
http://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=559017&SiteID=7
_________________
かるあ のメモスニペット
1

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