ブラウザの×ボタン検出

このQ&Aのポイント
  • ブラウザの閉じるボタンを検出するためのjavascriptコードを紹介します。
  • Google Chromeでは特定の条件下で動作しないことがありますが、IE10では期待通りに動作します。
  • フレームにページが分割されている場合には注意が必要です。
回答を見る
  • ベストアンサー

ブラウザの×ボタン検出

こんにちは、みなさま ブラウザの閉じるボタン(右上隅×ボタン)を検出したく、javascriptで、以下を書きました。 window.onbeforeunload = function(event) { event = event || window.event; event.returnValue = "【警告】\nWebブラウザの閉じるボタンが押下されました。"; event.returnValue += "\n\nよろしいですか???? "; } Google Chromeで、次のようなモンダイに行き当たりました。 1.全画面1ページなら、問題なく動きます 2.ところが<FRAMESET>で分割したフレームに開いたページでは、全く動作しないらしく、いきなり閉じてしまいます。 IE10なら、上記1.2.ともに期待どうりに動きます。 このことについて、ご教示いただければ幸いです。

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

  • ベストアンサー
  • b0a0a
  • ベストアンサー率49% (156/313)
回答No.1

parentにかけてみては?

soft83
質問者

お礼

関数の記述が間違っていました。 window.parent.onbeforeunload = function(event) { としたところ、Chromeでも、問題なく動きました。 ありがとうございました。

soft83
質問者

補足

ご教示感謝です。 parent.migi.window.onbeforeunload = function(event) { としてみました。 上位のプログラムで左右二つのフレームに分割し、この関数を持つ.phpファイルは migi に展開されます。 結果、IEでは問題なく動作しますが、Chromeではダメでした。 重ねてご教示いただければ幸いです

関連するQ&A

  • Webブラウザの閉じるボタン無効化についての質問

    お世話になります。 現在、ASP.NET(C#)にてIEブラウザの閉じる(×)ボタンを 非表示にするあるいは無効にする処理を加えようとしています。 現行では、JavaScriptのonbeforeunloadにて閉じるボタン 押下時の処理を加えています。 しかしながら、処理を加えた後閉じるボタンを押下した際に 「このページからほかのページに移動しますか?」確認MSG が表示されてしまいまして、「OK」を押下すると画面が閉じて しまいます。 IEの閉じるボタン無効化の機能が成立しません。 そこで質問としまして、 ・IEブラウザの閉じるボタン無効化 ・IEブラウザの閉じるボタン押下時に表示される  「このページからほかのページに移動しますか?」確認MSG  を非表示にする 方法がございましたら、ご教授お願い致します。

  • ブラウザの「戻る」ボタンを押した時にリロードさせる

    ブラウザの「戻る」ボタンを押して前のページに戻った時に1回だけページを リロードさせたいのですが、IEでは下記のようにすれば上手く出来ました。 <script type="text/javascript"> <!-- window.onunload = function(){location.reload();} --> </script> しかしながら、上記では他のブラウザ(Firefox・Opera・Safai・Google Chrome等)では リロードされません。 全てのブラウザで上手くリロードさせる方法はないでしょうか。 宜しくお願い致します。

  • ブラウザの×ボタン(閉じるボタン)押下時のイベントをひろいたい

    javaScriptでブラウザの閉じるボタン(×ボタン)を押したときに、functionを走らせたいのですがうまくいきません。onunloadで以下の処理を行っています。 if(event.clientX <= -8980 && event.clientY <= -9000 || event.clientX >= 32700 && event.clientY >= 32700) {  //ブラウザ閉じられたときの処理 } 閉じるボタンを押してなくても走ってしまったり、不安定なのですが、×ボタン押下時のイベントの拾い方をどなたかご教授ください。よろしくお願いします。

  • ブラウザの×ボタン判定

    ブラウザの×ボタンを押下すると、このページから移動しますか? というダイアログが表示されると思います。 このダイアログには「このページから移動」と「ページに留まる」の二つのボタンが ついています。 このボタンの内、どちらが押されたかを判断したいのですが、javascriptで判定する ことは可能でしょうか? ご教授のほどよろしくお願いいたします。

  • ブラウザの戻るボタン

    いつもお世話になっております。 今回は戻るボタンについてお聞きしたいです。 ある認証が必要なページにログインし、作業終了後ログアウトを選択すると、ログイン認証画面に戻るものがあります。 このログイン認証画面に戻ってきた際、ブラウザの左上(IE,Firefoxの場合)にある戻るボタンを押下すると、ログアウト前の画面に戻ってしまいます。 そこで設定を変更したりなどはできませんが、できればその操作を無効にしたいのですが、ブラウザのボタンの操作を禁止したり、他の場所に飛ばしたりすることはできるのでしょうか? ご教授願います。

    • ベストアンサー
    • HTML
  • ブラウザに文字が表示されません。

    はじめまして。 質問があります。 以下のコードを見てください。 ---------------------------------------------------------------- <html> <head> <script type="text/javascript"> <!-- function rand() { window.document.getElementById("i").innerHTML = Math.random(); } //--> </script> </head> <!-- <body onLoad="rand()"> --> <body> <form name="myform"> <input type="submit" name="submit" onClick="rand()"><br> </form> <div id="i"></div> </body> </html> ---------------------------------------------------------------- あらかじめonLoadイベントでrand()関数を呼び出しておくと、後から 送信ボタンを押下すると、 ブラウザに乱数が表示されるのですが、onLoadイベントを使用せずに 送信ボタンを押下するとブラウザに 乱数が表示されません。これは一体なぜなのでしょうか? 例えば、レイアウトが一度確定したら、そのレイアウトに後から 文字などを表示させることができないなどというような原因 なのでしょうか?よくわかりません。ご教授お願いします。

  • python ブラウザに表示しているテキストボックスに書き込むには

    python2.6 に於いて、ブラウザ上に表示しているテキストボックスに、所定の文字列を書き込みたいと思います。 また、ブラウザ上に表示しているボタンを押下(イベントを発生)させるには、どうしたらいいですか? 参考になりそうなWebページなどを、教えて下さい。 よろしくお願いします。

  • ブラウザ閉じるボタンの押下後もセッションを破棄させてプログラムを終了させたい

    開発環境 Visual Studio 2008 Professional Edition Visual Basic 2008 .NET Framework 3.5 SP1 ASP.NETを利用してWebページを作成しています。 現在、Webページにログアウトボタンを配置し、そのボタンを押して ログインページへ遷移する前にセッションの破棄をさせています。 ブラウザ閉じる(×)ボタンの押下後もセッションを破棄させ、 その後、プログラムを終了させたいのですがどのようにすればいいのでしょうか? 尚、現在はブラウザ閉じる(×)ボタンの押下後、セッションの破棄がされずプログラムも終了しません。 よろしくお願いします。

  • 毎日、iPhoneでSmartNews を利用して

    毎日、iPhoneでSmartNews を利用していまして、閲覧した記事を仕事で利用したく、記事のURLをWindows側のブラウザのブックマークと同期させたいのですが、ブックマークが破壊されたり、オペレーションが長過ぎたり、しっくり行きません。何か良い方法はないでしょうか? 具体的には … 1.SmartNewsの記事 → 右上のエクスポートボタンを押下 → 『Chrome』を選択 → ブックマークに追加を選択(これではモバイルブックマークに保存されパソコン側に移行出来ない) 2.SmartNewsの記事 → 右上のエクスポートボタンを押下 → 『Safariで開く』を押下 → 下部中央のエクスポートボタンを押下 → ブックマークを追加 → iCloudでChromeブックマークバーと同期 (このやり方ではiCloudに問題がある様で、ブックマークバー自体が破壊される) 3.SmartNewsの記事 → 右上のエクスポートボタンを押下 → 『URLをコピー』を押下 → Chromeを起動 → URL入力フィールドをタップ → コピーしたリンクを選択 → 右上の設定ボタンを押下→ ブックマークを選択 → ブックマークバーを選択 → Googleクラウドで同期 (このやり方であれば確実だが、オペレーションが長過ぎる) 4.xmarksのiPhone版(有償)を入れてみたが機能不足で何も出来ない(SmartNewsはもとよりChromeやSafariさえ対応していない。) 良い方法はないでしょうか? よろしくお願い申し上げます。

  • onbeforeunload時のwindow.openが効かないのです

    onbeforeunload時のwindow.openが効かないのですが… ページ内に設置した「閉じる」ボタン、またはブラウザの「閉じる」を押したときに、 新規ウィンドウが立ち上がるようにしたいのです。 複数台でテストすると、半数が新規ウィンドウが立ち上がりません。 まずIEでunloadが効かない場合がある事から、 以下サイトよりonbeforeunloadのスクリプトを引っ張りました。 http://blog.moxiecode.com/2008/04/08/unload-event-never-fires-in-ie/ で、 <SCRIPT LANGUAGE="JavaScript"> ~上部省略~ function unload() { //alert('Unload event occured.'); window.open('test_b.php'); }; </script> <body onbeforeunload="unload()"> と記述したのですが、 前述で新規ウィンドウが立ち上がらなかった台が、 アラートだと出すのですが、window.openに反応しません。 何か解決方法はありますでしょうか。 javascriptに関して全くの初心者ですので、四苦八苦しながらテストしています。 もし解決方法をご存じの方はソース例を教えて頂くと大変助かります。 宜しくお願いします!

専門家に質問してみよう