• ベストアンサー
  • すぐに回答を!

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とネスケでは正常に動作しました。 どなたかお分かりになる方、ご教授願えませんか? 宜しくお願いします。

共感・応援の気持ちを伝えよう!

  • 回答数2
  • 閲覧数2224
  • ありがとう数3

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

  • ベストアンサー
  • 回答No.1

共感・感謝の気持ちを伝えよう!

質問者からのお礼

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

関連するQ&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()"> と記入したのですが、 やはり反応がありません・・・。 どなたかご存知の方、教えてください!

  • 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タグのターゲットブランクで別ウィンドウを開いた場合です。よろしくお願いいたします。

  • 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>

その他の回答 (1)

  • 回答No.2

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

共感・感謝の気持ちを伝えよう!

質問者からのお礼

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

関連するQ&A

  • 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でも閉じるボタンを機能させるにはどうしたらよろしいでしょうか。

  • 「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文のところでうまく動きません(当たり前ですね) 何か良い方法はありませんでしょうか。 ご教授願います。

  • 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内に書いてる時はしない。) 何故なのでしょうか。 よろしくお願い致します。

  • Javascriptで画面の切り替え

    Javascriptで画面の切り替えをしたく、 ソースを書いたのですが、 ブラウザの判定を入れたところ、 (今のところIEとFFだけで確認しています。) 全く動かなくなりました。 IE画面の左下に警告マークが出ているので 構文が間違っているようなのですが、 分かりません 解決策を教えていただけないでしょうか。 よろしくお願い致します。 ----------以下ソース---------------------- <HTML> <HEAD> <TITLE>::::Antique Messiah::::</TITLE> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> <link href="messiah.css" rel="stylesheet" type="text/css"> <script language="javascript"> function ImageUp() { var isIE = (navigator.appName.substring(0,9)=="Microsoft"); alert(isIE); function check(){ if(isIE) alert("fftart"); window.open("top.html","","WIDTH=600,HEIGHT=600"); window.opener = ""; window.close(); else alert("fftart"); window.open("top.html","","WIDTH=600,HEIGHT=600"); top.name = 'CLOSE_WINDOW'; var wid = window.open('','CLOSE_WINDOW'); top.close(); } } function changesize(){ window.resizeTo(800,700); } window.onload=changesize; window.onresize=changesize; </script> </HEAD> <BODY onLoad="changesize(), setTimeout(ImageUp,3000)"> ~中略~ </body> <html>

    • ベストアンサー
    • CSS
  • window.openについて

    window.openを使って新しいウインドウを開きたいと思い質問させていただきます。 現在、 ---------------------------------------------------------------- <script type="text/javascript"> <!-- function w_opn() { newWin = window.open("abc.html","","width=200,height=300"); win.moveTo(0,0); } // --> </script> そして、BODY内に <a href="javascript:w_opn()">開く</a> --------------------------------------------------------------- というふうに作成しています。 この方法だと、リンク元が複数ある場合、HEAD内のJavaScriptも複数記述しないといけないと思うのですが、これをひとつのJavaScriptで制御したいのです。 どなたかご教授願えませんか?参考になるサイトのURLでも構いません。

  • javascriptですか?

    初心者です。 これはjavascriptなのでしょうか? <a href="javascript:window.close()">閉じる</a> javascriptと書いてあるので、多分そうなのだと思いますが、この場合、これだけを記述すればいいのでしょうか? 本などにはjavascriptを記述する際に、 <script language="JavaScript"> <!-- //--> こんなのを書きなさい見たいな事も書いてあったのですが、どうなのでしょうか、ちなみに書かなくてもちゃんと使えるのですがどちらが正解ですか? 変な質問ですが、よろしくお願いします。

  • window.close()で閉じられない

    教えていただけますか? インターネット上のサンプルを参考に 押したらウインドウを閉じるボタンを作ったのですが、 うまく機能しません。 サーバーはレンタルサーバーです どの様にしたら良いでしょうか? インターネット上のサンプルでは閉じられました。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>無題ドキュメント</title> </head> <body> <form> <INPUT type="button" value="閉じる" onClick="window.close()"> <input type="button" value="閉じる" onClick="close()"> </form> <A href="JavaScript:window.close()">閉じる</A> </body> </html>

  • サブウィンドウの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()"> と書いています。 この様な場合、どの様にすれべ良いのでしょうか?

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

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

  • Netscape7.1上でJavaScript(window.close)が動作しません

    こんにちは,Netscape7.1でスクリプトが思った様に動いてくれずに少し困っています.もし何かご存知のことがあればお知らせください. Web上で動く社内システムを開発しているのですが,スクリプトの動作がInternet ExplorerとNetscapeで大きく異なるため,使用はInternet Explorerのみに限定しようと思い,先頭で以下のソースの様なチェックを入れています. <SCRIPT LANGUAGE="JavaScript"> <!-- if (navigator.appName == "Microsoft Internet Explorer") { } else { alert("本システムは,Internet Explorerで使用してください."); window.close(); } //--> </SCRIPT> ブラウザがNetscape6.1であれば問題なく意図した動きをしてくれるのですが,Netscape7.1ではalaert表示後OKボタンを押してもブラウザが終了しません. 単純にバージョンによる差なのか,セキュリティなどの設定の違いか判然とせず,色々と調べてみたのですが,結局分かりませんでした. 何か同じ様な経験をお持ちの方やアドバイスをいただける方がいらっしゃると大変助かります. よろしくお願いします.