• ベストアンサー

「画面が閉じられた」という行為をトリガーとして使えますか?

親画面から子画面をポップアップ表示し、子画面に作成したボタンから(window.opener)をコールして、子画面を閉じる→親画面の処理を行う、という処理を実現しています。 ボタン押下時にJavaScriptをコールすることで処理は行えるのですが、ウィンドウの右上にある「×」ボタンや、タスクバーを右クリック→閉じるなどを行った際にも同じような処理を行うことはできるのでしょうか? 「画面が閉じられた」というトリガーにて処理を行うことができるのでしょうか? よろしくおねがいします。

質問者が選んだベストアンサー

  • ベストアンサー
  • PED02744
  • ベストアンサー率40% (157/390)
回答No.3

>body onUnloadイベントでJavaScriptをコールしたのですが、 >子画面を塗り替えで別画面表示させた場合はonUnloadイベントが発生し >JavaScriptがコールされたのですが、「×」ボタンや、タスクバーから >閉じた場合は発生しませんでした・・ そんなはずは無いとおもいますが。。 IE7で確かめましたが、 <html> <head> <script language="JavaScript" type="text/javascript"> <!-- function winUnload(){ alert("閉じます"); } // --> </script> </head> <body onUnload="winUnload();"> </body> </html> これでちゃんと[x]ボタンでもonUnloadイベントが拾えていますよ?? ただ、ページ書き換えでも受け取れてしまうので、そのへんは 下記参照のこと。

参考URL:
http://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=559017&SiteID=7
DynamisH
質問者

お礼

回答ありがとうございます。 はっきりと切り分けたわけではありませんが、 マシンによって×ボタンに反応したりしなかったりでした・・・ 結局×ボタン対応はしないことになりましたので、クローズさせて頂きます。 お忙しいところありがとうございました。

その他の回答 (2)

回答No.2

body onUnload イベントを使用してみてください。

DynamisH
質問者

補足

回答ありがとうございます。 body onUnloadイベントでJavaScriptをコールしたのですが、子画面を塗り替えで別画面表示させた場合はonUnloadイベントが発生しJavaScriptがコールされたのですが、「×」ボタンや、タスクバーから閉じた場合は発生しませんでした・・ 別のトリガーが必要なのでしょうか。

回答No.1

「JavaScript」のカテゴリで質問された方が良い回答が得られると思います。

DynamisH
質問者

お礼

JavaScriptのカテゴリで質問させていただきました。 ご指摘ありがとうございます。

関連するQ&A

専門家に質問してみよう