FireFoxでJavascript「window.close()」が効かない問題

このQ&Aのポイント
  • FireFoxでJavascriptの「window.close()」が効きません。別ウィンドウを開いて「閉じる」ボタンをクリックするとウィンドウを閉じるレイアウトを作成していますが、FireFoxではうまく動作しません。IEとネスケでは正常に動作することを確認しました。問題を解決するためには、以下のソースコードを使用します。
  • 解決策として、以下のソースコードを<head>タグ内に記述することで問題を解消できます。
  • また、閉じるボタンのリンク先には、<A HREF="javascript:close_win()">ウィンドウを閉じる</A>を使用します。この方法で、FireFoxでもウィンドウを閉じることができます。
回答を見る
  • ベストアンサー

FireFoxでJavascript「window.close()」が効きません。

別ウィンドウを開いて「閉じる」ボタンをクリックするとウィドウを閉じる、というレイアウトを作成しているのですが、 <A HREF="javascript:window.close()">ウインドウを閉じる</A> では、firefoxでは動作しません。 情報を探してみて、以下のようなソースが有効なようなのですが、 <head>の中に以下を記述。 <script type="text/javascript" language="JavaScript"> <!-- function close_win(){ var nvua = navigator.userAgent; if(nvua.indexOf('MSIE') >= 0){ if(nvua.indexOf('MSIE 5.0') == -1) { top.opener = ''; } } else if(nvua.indexOf('Gecko') >= 0){ top.name = 'CLOSE_WINDOW'; wid = window.open('','CLOSE_WINDOW'); } top.close(); } --> </script> で、閉じるボタンを置きたい場所に <A HREF="javascript:close_win()">ウインドウを閉じる</A> が、ローカルで見ている範囲ですが、動作しません。 ページ内リンクみたいにページトップに戻るだけ。。。 ちなみにIEとネスケでは正常に動作しました。 どなたかお分かりになる方、ご教授願えませんか? 宜しくお願いします。

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

  • ベストアンサー
  • tsukachan
  • ベストアンサー率42% (202/470)
回答No.1
mokatabito
質問者

お礼

早速のご回答ありがとうございます。 紹介していただいたページは私も見ていたのですが、 新規に開くと(urlをコピペで移動など)、やはり作動しません。 要するに、 ・「target=_blank」で開かれたページなら有効 ・「onClick="window.open('URL')」で開かれたページなら有効 ・普通に(新規に)開いたページでは無効 となり、「親ページでの開き方に依存する」という理解でよろしいのでしょうか?

その他の回答 (1)

  • tsukachan
  • ベストアンサー率42% (202/470)
回答No.2

#1です そうなんです。親ページの開き方に依存します。 これらのサイト読む限りでは何ともしようが無い仕様(バグだと思うのですがw)の様です。

mokatabito
質問者

お礼

そうなんですね、やっとすっきりしましたw ご回答ありがとうございました。

関連するQ&A

  • Firefoxでwindow.close()が効きません

    Win、MacともIEでは問題ないのですが、Firefoxでwindow.close()が効きません。 Firefoxのバージョンは、Windows→1.0.7、Mac→1.5.0.1です。 ソースは以下のとおりです。 <form> <input type="button" name="Submit" value="ウィンドウを閉じる" onClick="javascript:window.close();"> </form> また、以下の方法も試してみたのですが動作しませんでした。 <SCRIPT language="JavaScript"> <!-- function CloseWin(){ window.close(); } // --> </SCRIPT> <FORM> <INPUT type="button" value="ウィンドウを閉じる" onClick="CloseWin()"> </FORM> aタグのターゲットブランクで別ウィンドウを開いた場合です。よろしくお願いいたします。

  • Fire FoxでWindow Closeを有効にする

    Fire FoxでJavaScript Close Windowが効かない・・・ ということで、以下ScriptをHead内に <script type="text/javascript"> function clsWin(){ window.opener = window; var win = window.open(location.href,"_self"); win.close(); } </script> を記入し、HTML内には <INPUT type="button" value="Close" onclick="close_win()"> と記入したのですが、 やはり反応がありません・・・。 どなたかご存知の方、教えてください!

  • 「window.close()」を一括削除したい

    WEBでよく見かける「閉じる」ボタンについて質問です。 <a href="#" onclick="javascript:window.close();">画面を閉じる</a> <input type="button" onclick="javascript:window.close();" value="画面を閉じる" /> ↑のようなHTMLをJavaScriptで一括して削除したいです。 var elements = document.getElementsByTagName('*'); for (var i = 0; i < elements.length; i++) { if (elements[i].onclick == 'javascript:window.close();') { elements[i].style.display = 'none'; } } 上記のようなJavaScriptを書きましたが、if文のところでうまく動きません(当たり前ですね) 何か良い方法はありませんでしょうか。 ご教授願います。

  • window.closeについて

    ウィンドウを閉じたい時に <button onclick="window.close()">閉じる</button> と言う風に使っていたのですが、この<button>~</button>を使わずに(ボタンを表示しないで)ウィンドウを閉じるにはどうすればいいのでしょうか? <a href onclick="window.close()">閉じる</a> と言うのを試してみたらオンマウス時に指に変化しなくなりましたが、これは使っても大丈夫なのでしょうか? 初心者質問ですみませんm(__)m

  • Firefoxでの win.close(); について

    ポップアップで開いたページ内の閉じるボタンからウィンドウを閉じるようにしたいのですが、 firefoxでのみ少々動作が異なり、一度目のアクセス時のみウィンドウが閉じません。 IEやsafariでは問題なく閉じています。 一度ポップアップウィンドウを閉じて、再度親htmlファイルのリンク先からポップアップを開いて試すと、ちゃんと閉じます。 a.htmlからポップアップでb.htmlを開き、b.htmlの中にb.swfを配置しています。 ソースと環境は以下の通りです。 ----------------------------------------- ■b.html <head>タグ内 <script language="javascript"> <!-- function closeWin(){ window.opener = window; var win = window.open(location.href,"_self"); win.close(); } // --> </script> ■b.swf 閉じるボタンアクション on (release) { getURL("javascript:closeWin();"); } ----------------------------------------- windowsXP SP2 firefox1.8.2 IE7 ----------------------------------------- ローカルでもウェブ上でも同様でした。 初回アクセス時からfirefoxでも閉じるボタンを機能させるにはどうしたらよろしいでしょうか。

  • Safariを判別し別ページに飛ばすには

    javascriptでブラウザを判別して、ブラウザによって違うページに飛ばしています。 基本的にはIEとそれ以外なのですが、Safariだけが別ページに飛んでくれません。(index.htmlにいたままになる) 下記のようにしていますが、どうすれば飛ぶようになるでしょうか? よろしくお願いします。 <script type="text/javascript"> if(navigator.userAgent.indexOf("MSIE") != -1){ window.location.href = "index.html";}     : else if(navigator.userAgent.indexOf("safari") != -1){ window.location.href = "index2.html";} </script>

  • window.close()ができません

    終了ボタンとリンクのあるhtmlファイルを作成したのですが IEでリンク先(ファイル)をマウスの右クリックで『対象を印刷』すると それ以降、window.close()のスクリプトが実行できなくなり困っています。 対処方法をご存知の方がいらっしゃいましたら、 教えてください。 <BODY> <FORM> <INPUT type="button" onclick="window.close();" value="close"> </FORM> <A href="read.pdf">お読みください</A> </BODY>

  • サブウィンドウのwindow.close()

    Win98SE&IE6.0で、 サブウィンドウをフルスクリーンで開き、 このサブウィンドウ内に閉じさせる為の「ウィンドウを閉じる」ボタンを用意し、 閉じさせていました。 Win98SE&IE6.0やWin98SE&NC4.78,Win98SE&NN7.00 で動作確認を行いました。 しかし、Win2000&IE5.0で動かした場合、 この閉じるボタンが効きませんでした。 Scriptは自体は、 function self_close(){ window.close(); } <input type="button" value="閉じる" onclick="self_close()"> と書いています。 この様な場合、どの様にすれべ良いのでしょうか?

  • JavaScriptでIE6を検知し、転送する。

    IE6からアクセスされた場合、 ・アラートを表示してアップグレードを促す。 ・同時にアップグレード用のウェブページに転送する。 という処理をJavaScriptで行いたいと思いました。 ブラウザ判別は、↓こちらのサイトを参考にしました。 http://winofsql.jp/VA003334/infoboard.php?mid=sjscript&id=070828100942&pid=3 そして、以下のコードをhead内に記入しています。 ============================== <script type="text/javascript"> var userAgent = window.navigator.userAgent.toLowerCase(); var appVersion = window.navigator.appVersion.toLowerCase(); if (userAgent.indexOf("msie") > -1) { if (appVersion.indexOf("msie 6.0") > -1) { window.alert("InternetExproler Ver.6 をご利用の方は、新しいバージョンへアップグレードして下さい。"); window.location.href = "http://www.xxxxxxxxxx.com"; } } </script> ============================== IEtesterで試すと、一応Ver.6の際に、狙った動作はしています。 しかし、何故かIEtester上で「ScriptError」が表示されます。 JavaScriptは、だいぶ不安があるので、この「ScriptError」が気になって仕方ありません。 やはりどこか悪いところがあるのでしょうか。。 どなたかご意見を聞かせて下さい。 また、headの中に長々と書くのも好きではないので、上の内容を丸ごとコピーして、「ie6.js」というファイル名をつけ、jsディレクトリに入れ、下のようにしました。 <script type="text/javascript" src="js/ie6.js"></script> こうすると何故かアラートの文字が文字化けしてしまいます。 (head内に書いてる時はしない。) 何故なのでしょうか。 よろしくお願い致します。

  • windowの閉じるボタンについて(JavaScript)

    今日、二度目の質問になりますが、またまた困ってます・・・ いろいろ調べてみてはいるのですが、windowの「閉じる」ボタンについてお聞きしたいです。 javascriptで、「window.close()」でも閉じれるのですが、閉じるときのメッセージ(alertの確認メッセージ)を独自なものにする方法はないのでしょうか? また、<a href="">で、閉じる方法もあるのですが、リンクで閉じるのではなくて、ボタンで閉じたく考えております。