• 締切済み

onUnloadについての疑問

onUnloadはページが移動した場合、現在のドキュメントが破棄された場合に発生するイベントですよね? ブラウザが閉じられた場合、このイベントは実行されるものでしょうか? また、他にブラウザが閉じられた場合に発生するイベントがあったら教えてください。 よろしくお願いしますm(__)m

みんなの回答

  • Struts
  • ベストアンサー率48% (29/60)
回答No.2

onUnloadは、ブラウザが閉じられた場合でも実行されます。 ブラウザが閉じられた場合のみのイベントは無かったと思います。 ページ移動なのか閉じられたのか判断する場合は、javascript内でのフラグの切り替えで出来ると思います。

回答No.1

onUnloadはブラウザを閉じた場合も実行されます。 自分でやってみればわかりますが、ウィンドウが消えてから実行されているように見えます。 他のイベントについてですが、MSDNライブラリを見ると、イベントが色々載っていますので、参考にしてみてはどうでしょうか。参考URLを載せておきます。 Web開発のツリーにあります。

参考URL:
http://www.microsoft.com/japan/msdn/library/default.asp

関連するQ&A

  • onUnloadイベントについて

    Bodyタグに onUnloadイベントを書くとページが切り替わる時に実行されますが、良くあるreturn falseとかでページが切り替わることをやめさせたいのですが可能でしょうか? ブラウザで更新ボタンを押したり、他のページへ移らないようにしたいです。

  • onunload で XMLHttpRequest

    ページを閉じたことをサーバへ伝えたいと思って、onunloadイベントで XMLHttpRequest により URLにアクセスしたいのですが、うまくいきません。 onunload の中から下記のような処理を行う関数を呼び出しています。 try{ var url = "http://xxxxxxx/unlock.php?no=99"; var xhr = XMLHttpRequestCreate(); //マルチブラウザ対応 xhr.open("GET", url); xhr.setRequestHeader("Content-Type", "text/plain"); xhr.send(null); }catch(e){ console.log(e); } xhr.status を見てみたら 0 になっていました。onunload でも、onbeforeunload でも send() を行ったあとに xhr.status が 0 になるようです。 画面上にテストボタンを置いて onclick から呼び出してみると、うまく動作します。 console.log を表示するとちゃんと表示されるので、onunload も onbeforeunload も 正しくセットされていると思います。 ブラウザは、Chrome と Firefox の2種類で試しましたが、同様でした。 やはりフォームが閉じるときは XMLHttpRequest は使えないのでしょうか? 何か回避する方法はないでしょうか?

  • onUnloadが働かない場合があります

    こんにちは。 JavaScriptの『onUnload』で、ページ遷移の時は稼動するのですが、ブラウザを終了させた場合、稼動する端末と稼動しない端末がでてしまします。 使用しているIEのバージョンはIE6.0.29のSP2です。 サンプルとしては以下のコードです。 *************************************** <HTML> <HEAD> <TITLE>Sample</TITLE> <SCRIPT Language="JavaScript"> <!-- function test(){ alert("ページを切り換えます"); } // --> </SCRIPT> </HEAD> <BODY onUnload="test()"> <CENTER> <H1>onUnloadテスト</H1> <BR><BR> <a href="http://www.google.co.jp">ページ切り替え</a> </CENTER> </BODY></HTML> ********************************************** 「ページ切り替え」をクリックした時も、また、ブラウザを終了した時も『ページを切り換えます』のアラートが出る筈ですが、ブラウザを終了した時のみ、アラートが出ないPCがあります。 コード自体に問題があるとは思えず、IEの設定の問題かな?とも思いますが、10台程で試してみたところ、2台が 上記のような状態になります。 考えられる原因をご教授頂ければ幸いです。 宜しくお願いいたします

  • FireFoxでブラウザーと閉じる時に特定の処理を実行したいのですが良い方法を教えてください。

    ブラウザーを閉じる時に特定の処理をWebページ内で実行したのですが、FireFoxでは可能でしょうか? IEでは、下記のロジックで対応することが出来ました。 window.onunload=function() { var x=window.event.clientX,y=window.event.clientY; var w=document.body.clientHeight; if (y<0 &(w-5)<x || x<15) { alert('IEを閉じます。'); } }

  • onUnload時にジャンプ先のURLを取得または書き換える方法

    目次のページから各ページへジャンプするのですが、 その際の引継ぎ情報をサーチデータを使ってやり取りすることをしています。 その際に、各ページから目次に戻る場合、各ページのリンクから戻ってもらう場合は、トップページにサーチデータを送信することができますが、 ブラウザの戻るボタンの場合はそれができません。 ですから、JavaScriptで、onUnload時にジャンプ先を参照して、 目次ページのURLの場合のみサーチデータをつけてlocation.hrefで飛ばすという方法と、ジャンプ先URLに追加する(書き換える)という方法を思いつきました。 しかし、リファレンスなどを調べてもそういったメソッド等が僕の力では見つかりません。 何かいい関数やメソッドがありましたらお教えください。 お願いします。急いでおります。

  • ページの移動を禁止したい

    Javascriptではページが閉じられた、または移動するときに関数を実行させるwindow.onunload = function(){......}という書き方が出来ますが、これでページの移動をキャンセルさせることって出来ませんか?アドレスバーに違うアドレスを入力された時、ハイパーリンクをクリックされた時にその移動が実行されないようにしたいのです。

  • ウィンドウを閉じたときのイベント処理

    「onUnload」でイベント処理を記述すると、ページを移動したときにも処理が行われますが、ウィンドウを閉じたときだけ処理を行いたい場合のイベントはどのように記述すればよいでしょうか? メインウィンドウからリンクをかけて、サブウィンドウを表示させ、そのサブウィンドウ内で何ページかリンクページを設定していますが、サブウィンドウ内でのページ移動中はそのままで、サブウィンドウを閉じてメインウィンドウに戻るときだけ、確認ウィンドウを1ページ表示させたいのです。 よろしくお願いします。

  • ブラウザを閉じないようにするには?

    onunloadのイベントをキャンセルする(?)等の方法でブラウザを閉じないようにする方法は無いでしょうか?

  • jQuery mobile:移動先ページのイベント

    jQuery mobileをつかったウェブページを作成しています。page1.htmlからpage2.htmlへの移動にはアニメーションによる動的移動を用いているのですが、この場合だとpage2.htmlに「$(document).bind('pagebeforechange'...」などを記述してもイベントが発生しません。 page2.htmlからpage1.htmlに戻る前に、page2.htmlにあるフォームの値を取得したいのですが、どのようにプログラミングすれば良いでしょうか。

  • オーバーライドについて。

    共通のjsファイルにonUnloadのイベントで実行するように、ある処理 を記述していたとします。 それで、画面によってはonUnloadのイベントで別の処理も行うので、 共通の処理をオーバーライドして個別の処理を先に実行させて その後、jsファイルで準備している共通の処理を実行させたいと思 っています。 上記の内容を実現するためには、どのような実装をすればよいの でしょうか? よろしくお願いします。

専門家に質問してみよう