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

このQ&Aのポイント
  • JavaScriptの『onUnload』で、ページ遷移の時は稼動するのですが、ブラウザを終了させた場合、稼動する端末と稼動しない端末がでてしまします。
  • 使用しているIEのバージョンはIE6.0.29のSP2です。
  • 「ページ切り替え」をクリックした時も、また、ブラウザを終了した時も『ページを切り換えます』のアラートが出る筈ですが、ブラウザを終了した時のみ、アラートが出ないPCがあります。
回答を見る
  • ベストアンサー

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台が 上記のような状態になります。 考えられる原因をご教授頂ければ幸いです。 宜しくお願いいたします

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

  • ベストアンサー
  • kaiu
  • ベストアンサー率20% (65/315)
回答No.1

IEの設定でしょうか。 ツール→インターネットオプションの セキュリティタブ(のレベルのカスタマイズ)と詳細タブで javascript関連の項目があります。 動くマシンと動かないやつで項目を 調べてみてはいかがでしょう。

wolfman
質問者

お礼

ご返答有難うございました。 セキュリティのレベルを調整してみたのですが 動作に変化はありませんでした。 上手く動くマシンと比較してみたのですが変わるところはありませんでした。 IEでブラウザダウン時にonUnloadが働かないマシンでも FireFoxやNN7.1では稼動しました。

その他の回答 (1)

  • kaiu
  • ベストアンサー率20% (65/315)
回答No.2

う~ん。ブラウザのバージョンも関係ないんですよね。 キャッシュ関連はどうでしょうか。 IEで今までできなかったマシンでcookie削除、一時ファイル(オフライン含)削除→できるか。

wolfman
質問者

お礼

レスが遅くなり申し訳ありません どうも不安定なようです。 ここ数日で発覚したことですが、ドメインによっても 違う動作をしました。 あるドメインでは正常に動くのに、違うドメインでは作動しませんでした。 環境によって左右されるものとして諦めるしかなさそうです。 有難うございました

関連するQ&A

  • window.alert グーグルクローム

    グーグルクロームを使用しています。 <html> <head> <title>test</title> </head> <body>   <script type="text/javascript">   <!--     function test() {       window.alert("テストです。");     }   // -->   </script>   <button onClick="javascript:test();">テスト</button> </body> </html> このソースでテストボタンを押すと 画像の様に 「javascriptのアラート」と出ますが 同じコードを自分の作成しているサイトに組み込むと 「javascriptのアラート」の部分が 「ページ ○○.web.fc2.com の記述:」 になります。 ○○は、私のサイトのURLです。 IEで確認すると、 サンプルコードでも自分のサイトでも 「Webページからのメッセージ」になります。 グーグルクロームで 「javascriptのアラート」となる場合と 「ページ ○○.web.fc2.com の記述:」となる場合の違いは何でしょうか?

    • ベストアンサー
    • HTML
  • JavaScriptが動かない原因

    javascript は、ほとんど分からない初心者なのですが、 ものすごい単純な事で詰まっています。 <html> <head> <title></title> <script type="text/javascript" language=JavaScript> <!-- function alt() { alert("NG"); } //--> </script> </head> <body> <input type="radio" name="test" value="1" onclick="alt()">テスト1<br> <input type="radio" name="test" value="2" onclick="alert('OK')">テスト2<br> </body> </html> このソースで、テスト1のイベントが発生しません。 IEもfirefoxも、ダメでした。 何が悪いのか・・・・ くだらない質問ですみません。宜しくお願い致します。

  • javascriptに詳しい方

    下のスクリプトで見るべきページが二つ以上ある場合どのように記述すればいいのでしょうか? javascriptに詳しい方よろしくお願いいたします。 <html> <head> <script language="JavaScript"> <!-- var isClicked = false; //--> </script> </head> <body> <A href="check.html" onClick="isClicked = true">見るべきページ</a><br> <A href="test.html" onClick="if (!isClicked){ alert('先に見るべきページをクリックしてください'); return false; }">A</a><br> </body> </html>

  • document.write と Firefoxの戻り動作

    document.writeを使ってhtmlを書き込むことで新たなページを表示した場合、Firefoxではブラウザの「戻りボタン」で戻ると元のページの表示位置(元のページがスクロールされていた場合のスクロール位置)ではなく、元のページの先頭から表示されます。 (IEでは、元のページの元の表示位置に戻ります。) FirefoxでもIEのように元のページの元の表示位置に戻るようにしたいのですが、何が問題か、ご指摘いただけないでしょうか? (下方にサンプルを記載します) ・行いたいこと  以下の例のfunction_test()内に別ページのhtmlを記述して、onlickで呼び出しそのhtmlを表示。そのhtml表示後、ブラウザの戻りボタンや、history.backを使って、元のページに普通に戻りたい。 <html> <head> <TITLE>test</TITLE> <script type="text/javascript"> <!-- function function_test() { document.write("<html><body>"); document.write("test"); document.write("<\/body><\/html>"); document.close(); } // --> </script> </head> <body> これはテスト<br> <br><br><br><br><br><br><br><br><br><br><br><br><br><br> <form> <input type='button' value='test' onclick='function_test()'> </form> <br><br><br><br><br><br><br><br><br><br><br><br><br><br> </body> </html>

  • onUnloadイベントについて

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

  • JavaScriptのonUnloadについて

    お世話になります。 JavaScriptのonUnloadについてご教授願います。 下記のサンプルソースなのですが Google Chrome(13.0.782.218 m)では正常に動作します。 Internet Explorer(7.0.5730.13)では正常に動作しません。 また、ローカル環境で動作させるとセキュリティ保護のため、このコンピュータにアクセスする可能性のある・・・ と表示され許可するとInternet Explorerでも正常に動作します。 ソースを改造することにより解決出来ますでしょうか? お手数をお掛け致しますがどうぞよろしくお願いいたします。 main.html ----------------------------------------------------------- <html> <head> </head> <body onUnload="kozinWin.close()"> <INPUT TYPE="BUTTON" value="個人情報保護方針" onClick="kozinWin=window.open('information.html' , 'kozin' , 'width=750, height=500, menubar=no, toolbar=no, scrollbars=yes')";> </body> </html> ----------------------------------------------------------- information.html ----------------------------------------------------------- <html> <head> </head> <body> 個人情報 </body> </html> -----------------------------------------------------------

  • onunLoadを指定ページでだけ除外する方法

    お世話になります。 自分のブログを閉じた際に、javascriptのonunloadを使って 別のウィンドウが開くようにしたのですが、 閉じた時以外にも、ブログ内のリンクをクリックして 別のページに飛んだ際にまで窓が開いてしまいます。 ブログ内のリンクを踏んだ際は、スクリプトが作動しないようにするには、 どうすればよいでしょうか? (ちなみに当方javascriptは素人です;) ちなみに自分の使ったのは、 <SCRIPT LANGUAGE=JavaScript TYPE=text/javascript> var Path = 1; function OpenWindow(url) { if(Path == 1){ OpenWin=window.open(url,"PopUp","toolbar=0,location=0,status=0,menubar=0,scrollbars=0,resizable=0,wi dth=1150,height=780"); OpenWin.blur(); window.focus(); } } </SCRIPT> And in the body tag: <body onunload="OpenWindow('http://www.新たに開くページ.html')"> よろしくお願い致します。

  • 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 は使えないのでしょうか? 何か回避する方法はないでしょうか?

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

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

  • 外部ファイルの記述の問題なのかエラーが出ます

    IE6を使っています。 次のように[a.js]を呼び出したのですが、 オブジェクトがありませんとエラーが出ます。 そのエラーの次に[test.html]にあるalertの内容は表示されます。 どこが間違っているのでしょうか? [a.js] var a = document.body.clientWidth; [test.html] <html> <head> <title>test</title> <script type="text/javascript" src="a.js"></script> </head> <body> <script type="text/javascript"><!-- alert(document.body.clientWidth); --></script> </body> </html>

専門家に質問してみよう