子ウィンドウを開くときに警告なしで親ウィンドウを閉じる方法

このQ&Aのポイント
  • 子ウィンドウを開くときに、警告なしで親ウィンドウを閉じる方法を教えてください。
  • JavaScriptを使用して子ウィンドウを開いた際に、警告なしで親ウィンドウを閉じる方法がありますか?
  • 簡単なスクリプトを使用して、子ウィンドウを開いた親ウィンドウを警告なしで閉じる方法について教えてください。
回答を見る
  • ベストアンサー

子ウィンドウを開くときに、親ウィンドウ(自分)を警告なしで閉じる。

http://oshiete1.goo.ne.jp/kotaeru.php3?q=805336 の続きというか、同じことなのですが、 以下のJavaScriptで、子ウィンドウが開かれるのですが、この際に開いた親ウィンドウを閉じたいのですが、普通に閉じると警告が出てしまいます。 警告なしで、子ウィンドウを開き、親ウィンドウを閉じる方法があれば、教えてください。 <script language="JavaScript"><!-- function MenuWindow(){ var bname = navigator.appName; var bversion = navigator.appVersion; var spchr = ";"; var bverS = bversion.split(spchr); var blsr = bverS[1]; var spchr = " "; var btype = blsr.split(spchr); var bcat = btype[1], bver = btype[2]; if ((bcat.indexOf("MSIE")<0)||(bver<5.0)) { res = window.alert("本プログラムは Internet Explore 5.0 以降の"+ "ブラウザ以外では動作しません。"); window.close(); } else { //location.href="menu.html"; var indexW; var swidth=screen.availWidth; var sheight=screen.availHeight; var wwidth=swidth*1.0; var leftpos=(swidth-wwidth); var wheight=sheight*1.0; var toppos=(sheight-wheight); window.resizeTo(wwidth,wheight); window.moveTo(leftpos,toppos); window.focus(); indexW = window.open("menu.html","",'resizable=yes,top=0,left=0'); indexW.resizeTo(swidth, sheight); //location.href="#"; } return true; } //--></script> </head> <body onLoad="MenuWindow()"> </body>

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

  • ベストアンサー
  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.3

window.open() で開かれたウィンドウじゃないウィンドウを window.close() しようとすると、警告が出ます。 実は、これには穴があって... > window.close(); の箇所を、以下のようにちょっとおまじないを入れると   w = window.open("","_top")   w.opener = window   w.close() ね、ブラウザは、勘違いしちゃうんですよね。

その他の回答 (2)

noname#10926
noname#10926
回答No.2

ふつ~に考えればセキュリティの関係からブラウザで警告を出す設定になっているので作者の勝手でウィンドウを閉じることができない。 (もしできたとしたら、そんなHPは二度と見ることはないでしょう)

  • todo36
  • ベストアンサー率58% (728/1234)
回答No.1

ないと思いますが、過去ログを見て驚いた。

関連するQ&A

  • 新規ウィンドウを全画面表示させたい

    head内に下記を入力し、 <script type="text/javascript"> <!-- function setScreenSize() { window.moveTo(0,0); window.resizeTo(window.screen.availWidth, window.screen.availHeight); } //--> </script> body内に下記を記載しました。 <a href="test.htm" onclick="setScreenSize()">test</a> 「test.htm」を新規ウィンドウで開きたいのですが、同じウィンドウで開いてしまいます。何が足りないのか分かりません。教えていただけませんでしょうか?

  • .split()

    javascriptに.split()というメソッドがありますが分割するという意味だと思いますが var thankyou = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&'); みたいな感じになったとき複数のオブジェクトになるのですか?

  • ブラウザが判別出来ない。

    お世話になっております。 JavaScriptの本を購入しました。 その本にブラウザ判定のスクリプトが掲載されており、それをそのままアップしたところ、私はIE6なのにIE4と判別されてしまいました。 下記がそのスクリプトです。 ちなみに、私はXPのIE6です。 このスクリプトはこれで完璧なのでしょか? また、出来ましたら、このスクリプトを試していただけたらと思うのですが・・・よろしくお願い致します。 <script language="JavaScript"> <!-- if( navigator.appVersion.charAt(0)==4){window.location.href = "nn4.html"} // NN Ver4 の場合 if( navigator.appVersion.charAt(0)==5){window.location.href = "nn5.html"} // NN Ver5 の場合 if( navigator.appVersion.charAt(0)==6){window.location.href = "nn6.html"} // NN Ver6 の場合 } if( navigator.appName.charAt(0)=="M"){ if( navigator.appVersion.charAt(0)==2){window.location.href = "ie2.html"} // IE Ver2 の場合 if( navigator.appVersion.charAt(0)==3){window.location.href = "ie3.html"} // IE Ver3 の場合 if( navigator.appVersion.charAt(0)==4){window.location.href = "ie4.html"} // IE Ver4 の場合 if( navigator.appVersion.charAt(0)==5){window.location.href = "ie5.html"} // IE Ver5 の場合 if( navigator.appVersion.charAt(0)==6){window.location.href = "ie6.html"} // IE Ver6 の場合 } //--> </script> <noscript>JavaScript を使用しています。JavaScript を有効にしてください。</noscript>

  • 親タブから子タブ開いて親タブへ戻す。

    以前、ここで質問をしたものです。 まだ、解決していません。 window.opener.focusが利かないと質問したものです。 親タブ(ウインドウ)から子タブ(ウインドウ)をひらいて そのリンク先を親タブ(ウインドウ)で制御しようとしています。 自分でいろいろやりましたが、現在chromeのみで動いています。 Firefox、IEでは動いていません。 他に良い方法はないでしょうか? 現在のコードです。 親<index.html> <html> <head> <title>TOPページ</title> <script type="text/javascript"> <!-- var win; // サブウィンドウを開く処理 function disp(url){ win = window.open(url, "oya"); } // --> </script> </head> <body> <p><a href="example_sub8.html" target="_blank" onClick="disp('example_sub8.html')">testサブウィンドウを開く</a></p> </body> </html> 子ウインドウ<example_sub8.html> <html> <head> <title>testサブウインドウ</title> <script type="text/javascript"> <!-- // リンクの処理開始 function disp(url){ if(!window.opener || window.opener.closed){ // メインウィンドウの存在をチェック window.alert('メインウィンドウがありません'); // 存在しない場合は警告ダイアログを表示 } else{ window.blur(); window.opener.focus(); window.open(url,"oya"); //window.opener.location.href = url; // 存在する場合はページを切りかえる } } // リンクの処理終了 // --> </script> </head> <body> <ul> <li><a href="#" onClick="disp('index.html'); return false;">トップページ</a></li> <li><a href="#" onClick="disp('index2.html'); return false;">test2ページ</a></li> </ul> </body> </html>

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

  • 小さなウインドウ開いて自動閉じることできますか?

    200 * 200のウインドウ開いて、 10秒後に自動で閉じるようなスクリプトは可能でしょうか? 以下ではオブジェクトを指定してくださいエラーになりました。どぼじで?(TT) ----------------------------------- <html><head> <script language="JavaScript1.2"><!-- function resize(w1) { w1.resizeTo(200,200); w1.status=no } //--></script> </head> <body onLoad="setTiw1out('window.close()',10000); resize(window);"> 小さなウィンドウ 10秒後に自動で閉じます。 </body></html> -------------------------------------

  • 子ウィンドウから子ウィンドウ

    子ウィンドウから文字をクリックして、 同じ大きさの子ウィンドウを開かせたいのですが、 下記のJavaScriptでは子ウィンドウが開きません。 子ウィンドウから子ウィンドウを開かせるには どのようにしたらいいのでしょうか? ご回答宜しくお願い致します。 head内は、 <script type="text/javascript"><!-- function subwin(file){ window.open(file,"subwin","resizable=1, width=600, height=500, scrollbars=yes"); } //--></script> body内の呼び出し部分は、 <a href="ファイルのURL" onclick="subwin('ファイルのURL'); return false;">

  • ポップアップウィンドウを画面中央に配置+複数リンクを同じウインドウに表示させたい

    過去にあった複数のイベント等の写真をスライドショーで紹介するページを作成中です。 ひとつのページ上に複数リンクがあって、それぞれクリックするとポップアプウィンドウが画面中央で開くようにすることはできました。(下記参照) <script type="text/javascript"> <!-- function win(url,windowname,width,height) { var features="location=no, menubar=no, status=yes, scrollbars=yes, resizable=yes, toolbar=no"; if (width) { if (window.screen.width > width) features+=", left="+(window.screen.width-width)/2; else width=window.screen.width; features+=", width="+width; } if (height) { if (window.screen.height > height) features+=", top="+(window.screen.height-height)/2; else height=window.screen.height; features+=", height="+height; } window.open(url,windowname,features); } // --></script> body内 <a href="link_page.htm"onclick="win(this.href,null,600,430); return false;"><img src="image.gif" width="123" height="18" /></a></td> ただ複数あるリンクをクリックすると、ポップアップウィンドウも次々増えてしまうのを、常にひとつのウインドウ上に表示させることができません。 どうぞご指南よろしくお願いします!

  • フレームページの画面サイズ設定

    トップ、メイン、アンダーって縦に3つに別れたフレームで画面サイズの設定をしたいのですが、どの様にすればよろしいでしょうか? また、WINとMACでサイズが違う様にしたいです。 下記まではできたのですが、ブラウザーを立ち上げてもサイズが設定できません。 <script type="text/javascript"> <!-- function test(){ if(navigator.platform=="MacPPC"){ window.resizeTo(500,500); }else{ window.resizeTo(750,600); } } //--> </script> <body bgcolor="#FFFFFF" text="#000000" onload="javascript: test();"> よろしくお願いします。

  • javascriptでGETパラメータを扱う

    javascript初心者です。 javascriptでURLをGETパラメータとして取得して、その値を HTMLのaタグのリンク先に指定しようとしています。 こんな感じに出来たらいいと思っています。 ↓ <a href="[GETパラメータで取得したURL]">[GETパラメータで取得したURL]</a> GETパラメータの取得は自力で調べて下記のように記述すればできることがわかりましたが、 aタグのリンク先に指定する記述方法が分かりません。 助けてください。 よろしくお願いします。 <script type="text/javascript"> function getUrlVars() { var vars = [], hash; var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&'); for(var i = 0; i < hashes.length; i++) { hash = hashes[i].split('='); vars.push(hash[0]); vars[hash[0]] = hash[1]; } return vars; } </script>

専門家に質問してみよう