- - PR -
【ASP.NET2.0&VB.NET】Unloadイベントについて
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 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ですので、解決法はありますでしょうか? | ||||
|
投稿日時: 2007-07-05 01:11
どの部分がわからなくてどうしたいですか?
そもそもコンテンツの unload ってイメージがわかないんですが。。。 ajax でも使っていない限り masterpage と同じタイミングで unload されませんか? _________________ かるあ のメモ と スニペット | ||||
|
投稿日時: 2007-07-05 09:26
>かるあさん
返信ありがとうございます。 出力HTMLを見るとBodyタグが1つしかないのに、 JavaScriptのfuncOnUnLoadメソッドが2回走ることが問題になってます。 指定が間違っているのでしょうか? 外部ファイルの中で、サブミットボタンを押したかどうかを 判定するフラグを立てて、funcOnUnLoadメソッドで判定しているのですが、 マスターページ、コンテンツページの順で走ります。 マスターページではフラグが正しく見れているのですが、 コンテンツページではフラグが初期値に戻り、正しく判定されません。 | ||||
|
投稿日時: 2007-07-05 10:37
ということは、[終了] ボタンか何かで確実に何かを処理したいとかそういう理由があってのことでしょうか? もしそうだとするとですが、このような不確実なものは推奨されないです。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2007-07-10 10:26
じゃんぬねっと様
ご返信ありがとうございます。 画面に[終了]ボタンがありまして、 その終了ボタン以外でブラウザを落とした場合に、 メッセージを出力したいのですが、他に方法などご存知でしたら、 ご教示願います。 (参考URLなどありましたらお願い致します。) | ||||
|
投稿日時: 2007-07-10 13:07
どのイベントも発生したりしなかったりするので、メッセージは気休め程度にしかならないとおもいます。 終了処理ではメッセージを出す以外どんな処理をしようとしていましたか? ブラウザのunloadイベントは起きたりおきなかったりするため、ブラウザが突然閉じられても問題が起きないようにプログラムを作成する必要があります。 参考になるかわかりませんが、MSDNフォーラムでこんなスレッドもありました。 http://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=559017&SiteID=7 _________________ かるあ のメモ と スニペット |
1