• ベストアンサー

window.open()について

kircherの回答

  • ベストアンサー
  • kircher
  • ベストアンサー率47% (11/23)
回答No.1

どちらにしろ、ウィンドウオブジェクトを指定して行うことになりますが、 手順としては、 1)親ウィンドウにサブウィンドウのオブジェクトを入れる変数を用意 2)サブウィンドウが開いたときに window.self を 親ウィンドウの用意した 変数に代入 3)親ウィンドウで、オブジェクトのメソッドを指定して、閉じる。 ちょっと変則的ですが、こんな感じではどうですか? 以下がサンプルです。 親ウィンドウ ---------------------------------------------------------------- <SCRIPT LANGUAGE="JavaScript"> <!-- var subwin; function open_win(){ open("sample.html","sample_win",""); } function close_sub(){ subwin.close(); } // --> </SCRIPT> <FORM> <INPUT TYPE="button" VALUE="Open" onClick="open_win()"> <INPUT TYPE="button" VALUE="Close" onClick="close_sub()"> </FORM> サブウィンドウ ---------------------------------------------------------------- <SCRIPT LANGUAGE="JavaScript"> <!-- function obj_trns(){ window.opener.subwin = window.self; } // --> </SCRIPT> <BODY onLoad="obj_trns()">

setera
質問者

お礼

ご回答ありがとうございます! なるほど。そういう手もあったかー。「こんなことってできるのかな?」って思って質問したのですが、いつもとは違った視点からのスクリプトでうれしいです。 参考になりました!

関連するQ&A

  • window.open [object]

    <A href="window.open('a.htm','test','width=100, width=200');">リンク</A> で子ウィンドウを開くと、親ウィンドウが[Object]とのみ書かれた画面になってしまうのですが、原因及び回避方法を教えてください。 宜しくお願い致します。

  • window,open

    ★=window.open("▲","☆","■") で★と☆がウィンドウの名前と書いてあったのですが 区別がわかりません これは開いたウィンドウの名前なのでしょうか? それともこのスクリプトがあるウィンドウをさすのでしょうか? あとウィンドウの名前のつけ方も教えていただけたら うれしいです 具体的には newWin=window.open("control,html","newWIn","width =240.height=120"); と書いてありました

  • window.openで

    HTML(親画面)からJavaScriptのwindow.openで400×300の別ウインドウを表示させた後、一旦親画面に戻し、新たな別ウインドウを表示させたいのですが、 1.その新たな別ウインドウにはなっているのですが、表に出てきません。 2.新たな別ウインドウを違うサイズで設定(例えば600×400)したものを表示させたいのに、400×300のウインドウサイズのままです。 以上2点の処理がわかりません。教えてください。お願いします。

  • JScript server2008 window.openについて

    JScript に関するバグ情報等が有れば教えて下さい。 具体的には Windows Web Server 2008 R1 + IE8 の環境にて window.open 操作をした場合にターゲット指定をうまく認識しない模様です。 フレーム内親ウィンドウから子ウィンドウ(別ウィンドウ)を開き、開いた子ウィンドウから親ウィンドウを操作したいのですが、新規のウィンドウを開いてしまいます。 XP + IE8、Vista + IE8では問題が発生しません。 以下に簡単なソースを記載します。 --- index.htm --- <HTML> <HEAD> <TITLE>フレーム</TITLE> </HEAD> <FRAMESET rows="50%,*" border="3" > <FRAME name="up" src="./parent.htm" frameborder="1"> <FRAME name="down" src="" frameborder="1"> </FRAMESET> </HTML> --- 親ウィンドウparent.htm --- <HTML> <HEAD> <TITLE>親ウィンドウ</TITLE> <script language="javascript"> <!-- function child_window(){ window.open("./child.htm" , "child"); } //--> </script> </HEAD> <BODY> 親ウィンドウ<BR> <input type="button" value="open" onclick="child_window();"> </BODY> </HTML> --- 子ウィンドウchild.htm --- <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <META http-equiv="Content-Style-Type" content="text/css"> <TITLE>子ウィンドウ</TITLE> <script language="javascript"> <!-- function parent_window(){ window.open("./parent.htm" , "up"); } //--> </script> </HEAD> <BODY> 子供だよ<BR> <input type="button" value="parent_open1" onclick="parent_window();"> </BODY> </HTML>

  • 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でも構いません。

  • window.open( ) の第2引数

    window.open( ) の第2引数は必ず書くことが 定義されているみたいだけど、これを 書かなくても問題はなさそうです。 第2引数を書かなかった場合の問題があれば 教えてください。 ↓は window.open( ) のことが書いてあるサイトです。 http://member.nifty.ne.jp/aya/js2/js222.htm

  • window.openの書き方

    初歩的なことかと思いますが、下記の★のところに前行の「n」の値を入れるにはどのように書いたら良か教えていただけますか。 function set() {  n = document.myFORM.moto.value;  window.open('sample.asp?zip=★') }

  • window.openでフルスクリーン表示&スクロールバー非表示

     window.openを使って、別ウインドウをフルスクリーンでスクロールバー非表示で開こうとしました。単純に、 window.open("a.htm","","fullscreen=yes,scrollbars=no"); でうまくいくと思ったのですが、うまくいきません。  解決法をご存知の方がいましたら、よろしくお願いします。  ちなみにブラウザは、IEを使用しています。

  • window.openしたウィンドウのwindow.onblurについて

    window.openしたウィンドウのonloadに  window.onblur = function() { window.close(); } を設定しているのですがFirefox3.6、Opera10.51ではウィンドウからフォーカスが外れたらウィンドウが閉じるのですが(期待している動き通り)、 IE6のみwindow.openしたウィンドウをクリックしたと同時にウィンドウが閉じてしまいます。 どうすればIEでもFirefox,Operaと同じ動きをさせることが出来ますでしょうか・・・

  • window.openについて

    以下のJavaScriptで、サイトを表示しようとしています。ポップアップで「はい」を選べば、表示されますが、セキュリティ警告の「いいえ」をクリックした際に、新しいウィンドウを表示させないようにしたいのですが、方法が分かりません。解かる方、回答をお願いします。ちなみに、httpsからhttpへの移行です。 function siteopen(url) { if (!confirm("選択したサイトを表示します。よろしいですか?")) { return; } win = window.open(url); } <a href="#" onclick="siteopen('{$url}');">