• 締切済み

子ウィンドウの情報を取得したい

window.openを複数行い、各ウィンドウの情報を取得したいのですが 配列変数などで管理せずwindowなどで取得は可能でしょうか? 試しに作成したソースです --ココカラ(oya.html)-- <html> <head> <script type="text/javascript"> <!-- //この方法で取得ができるが var koList = new Array(); function openKoA(){ kowin = window.open("ko.html", "kowin" + koList.length); koList.push(kowin); } function koListA(){ for(i in koList){alert(koList[i].document.getElementById("t1").value);} } // 配列で管理せずにwindow等にある情報で取得したい function openKoB(){ window.open("ko.html"); } function koListB(){ alert("子供リストなど"); //window.childNodes とか } --> </script> </head> <body> <input type="button" value="openKoA" onclick="openKoA()"> <input type="button" value="koListA" onclick="koListA()"> <br> <input type="button" value="openKoB" onclick="openKoB()"> <input type="button" value="koListB" onclick="koListB()"> </body> </html> --ココマデ(oya.html)-- --ココカラ(ko.html)-- <html> <body> <input type="text" id="t1" value="aa"> </body> </html> --ココマデ(ko.html)-- 以上、よろしくお願いします。

みんなの回答

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

なんとなく開いた子windowはつかみようがないですね ブラウザを限定すればそれにあったやり方はあるかもしれませんが きちんと開くときにオブジェクトを指定するやり方が賢明です

kake_a
質問者

補足

回答ありがとうございます。 環境はIE7~9を考えています。 できればwindowの情報(B)で解決したいのですが。 Aの方法で window.openをオーバーライドできればできるかな? (管理処理を詰め込む) で探しています。

関連するQ&A

  • 子ウィンドウのフォームにアクセスすることはできますか?

    親ウィンドウから,子ウィンドウを生成し,子ウィンドウ内のフォームの値を設定・参照することは可能でしょうか. ローカル内であればできそうな気もするのですが,以下の条件が有り,これを突破する方法が分かりません. ・子ウィンドウの内容は一般サイト(YahooだったりGoogleだったり,一定ではない) ・上記の理由で,formタグにname属性やid属性などが無い場合がある. サンプルで試したソースは以下の通りです. <html> <head> <title>JS test</title> </head> <body> <script type="text/javascript"><!-- function alert_d() { // alert("OK"); alert(target.sf1.p.value); } function newWindow() { target = window.open( "http://www.yahoo.co.jp", "target", "" ); } --></script> <input type="button" value="ダイアログ" onClick="alert_d();"> <input type="button" value="新規ウィンドウ" onClick="newWindow();"> </body> </html> 新規ウィンドウボタンでYahooを表示させた後,ダイアログボタンをクリックすると以下のエラーが発生します. Permission denied for <http://localhost> to get property Window.sf1 from <http://www.yahoo.co.jp>. http://localhost/test_js/ Line 9 これはやはりセキュリティ上の制限であり,実現は不可能ということでしょうか?

  • window.openで開いた子ウィンドウから親ウィンドウのjavascriptを実行するには

    window.openで開いた子ウィンドウから親ウィンドウのjavascriptを実行するにはどうしたらよいのでしょうか。 子ウィンドウから <INPUT TYPE="button" value=\"実行\" onClick=opener.document.jikkou();> や <INPUT TYPE="button" value=\"実行\" onClick=opener.jikkou();> 等のボタンを作ってみましたが、無反応でした。 すいません。宜しくお願いします。

  • 子ウィンドウを閉じるとき、親ウィンドウのテキストボックスにカーソルを移動したい。

    子ウィンドウを閉じるとき、親ウィンドウのテキストボックスにカーソルを移動したい。(java) <script> function openChild(f){ window.open("child2.htm","_blank"); } </script> <form> <input id="text1"><br /> <input id="text2"><br /> <input type="button" onclick="openChild(this.form)" value="子ウィンドを開く"> </form> 子ウィンドを閉じる <input type="button" onclick="window.close()" value="閉じる"> 親ウィンドウのテキストボックス(id="text2")にカーソルを移動したいのですが。 <input id="text2"><br />

  • javascript 乱数が取得できない

    はじめまして。 一月ほど前から「パズルネット ソフィア」 http://www.pori2.net/js/number/4.html というサイトでjavascriptの基礎を学んでいるのですが、乱数 を扱う段階になって自分の作成したプログラム(以下) <html> <head> </head> <body onload="Mondai()"> <form name="quiz"> <input type="text" value="" > <input type="button" value="赤" onclick="Push(0)"> <input type="button" value="青" onclick="Push(1)"> <input type="button" value="黄" onclick="Push(2)"> <input type="button" value="緑" onclick="Push(3)"> <input type="button" value="白" onclick="Push(4)"> </form> <script type="text/javascript"> <!-- var col=new Array("red","bleu","yellow","green","white"); var Rnd; function Mondai(){ Rnd=Math.floor(Math.random() * 5 ); document.quiz.element[0].value=col[Rnd]; } function Push(num){ var n=parseInt(num); if( n==Rnd ){ Mondai(); }else{ alert("違います。"); } } // --></script> </body> </html> を実行してもテキストボックス内に何の値も表示されず 、ボタンを押しても「違います。」とだけしか出てきません。 ブラウザはfirefoxを使用しており、javascriptの設定もonに なっています。 カンマや鍵括弧などの記号にも打ち間違いがないかサンプル プログラムを参考にしながら確認してみたのですが、どこにも おかしな点はありませんでした。 サンプルプログラムは下記のとおりで、こちらは正常に実行されます。 <body onload="Mondai()"> <form name="quiz"> <input type="text" value=""> <input type="button" value="赤" onclick="Push(0)"> <input type="button" value="青" onclick="Push(1)"> <input type="button" value="黄" onclick="Push(2)"> <input type="button" value="緑" onclick="Push(3)"> <input type="button" value="白" onclick="Push(4)"> </form> <script type="text/javascript"> <!-- //色名の英単語を配列に入れる var col=new Array("red","blue","yellow","green","white"); //乱数を入れる変数 var Rnd; //テキストボックスに問題文(色名)を表示する関数 function Mondai(){ //0~4までの乱数を発生させる Rnd=Math.floor( Math.random() * 5 ); document.quiz.elements[0].value=col[Rnd]; } //正誤判定関数 function Push(num){ //引数を数字に変換 var n=parseInt(num); //正解なら次の問題を表示、間違っていたらアラートを表示する if ( n == Rnd ){ Mondai(); }else{ alert("違います!"); } } // --> </script> どなたかアドバイスをいただけないでしょうか? よろしくお願いします。

  • JavaScriptで子ウィンドウからメールを送信

    javascriptで子ウィンドウからメールを送信したいです。 JSは全くの素人なので、手探りでやっています。 サーバーはCGIが使えない環境なので、何かよい方法はないでしょうか? <html> <title>sub window sample1</title> <body> <h1>Sub Window Sample1</h1> <script language="JavaScript" type="text/javascript"> function formSubmit(){ window.open("","window1","width=400","height=200"); document.getElementById("form1").target = "window1" ); } </script> <form id="form1" action="" > <input type="button" name="submit" value="mail window!" onClick="formSubmit()"> </form> </body> </html> このようなソースを途中まで書いてみましたが、子ウインドウすら開いて くれません。 ぜひご教示をよろしくお願いいたします。

  • 新規ウインドウから他のページにいけますか?

    JavaScriptのwindow.openでページを表示した時に小さな別Windowも表示させるようにしています。 その画面を閉じるのに <input type="button" value="CLOSE" onclick="window.close()"> をクリックすると閉じるのですが、もう一つボタンを付けてそのボタンをクリックするとTOPページに戻るようにしたいんです。 location.href = "URL";で他のページにいけるんですよね? ボタンを表示させるには <input type="button" value="TOP" onclick="window.location.href="URL";"> でいいのでしょうか? やってみたのですが何も動きません。 どなたかわかる方、教えて頂けないでしょうか?よろしくお願いします。

  • JQueryでfunctionに引数としてIDを渡して処理する方法

    HTMLの制御にjQueryを使用しています。 functionに引数としてIDを渡して処理をしたいのですが、やりかたが分かりません。 テスト的にtest1Script、test2Scriptを作成しました。 test1と同様の結果を、引数にIDを渡すtest2Scriptでも得たいのですが、 失敗(1)や失敗(2)のように書いた場合、うまくいきません。何か良い方法はないでしょうか。ご教授下さい。 <script type="text/javascript"> function test1Script(){ alert($("#textfield1").val()); } function test2Script(objId){ //alert($("#objId").val()); 失敗(1) //alert($(#objId).val()); 失敗(2) } </script> </head> <body> <input type="text" id="textfield1" value="test1" /> <input type="button" id="button1" value="テスト1" onclick="test1Script();" /> <input type="button" id="button2" value="テスト2" onclick="test2Script('textfield1');" /> </body> </html>

  • Mozillaでステイタスバーへの表示

    IE6では、次のhtml文(簡略)が思ったとおりに実行されますが、Mozillaでは、実行されません。特に、ステイタスバーへの表示(ここが1番とか、ここが2番)がされません。Mozillaで表示させるには、どうすれば良いのでしょうか? お教えください。 <head> <script language="JavaScript"> function koko1() {window.open("http://koko1.co.jp","","WIDTH=950,HEIGHT=650,status,scrollbars");} function koko2() {window.open("http://koko2.co.jp","","WIDTH=950,HEIGHT=650,status,scrollbars");} function hint(n){status = n;} </script> </head> <body> 選んでください。 <input type="button" VALUE="K1" onClick="koko1()" onmouseover="hint('ここが1番')";> <input type="button" VALUE="K2" onClick="koko2()" onmouseover="hint('ここが2番')";> <body> ブラウザで実行⇒ボタンK1にマウスを当てると、ステイタスバーにここが1番と表示し、押すとhttp://koko1.co.jpが新規に開きます。 ボタンK2も同じ様。です。

  • 子ウィンドウでの情報の取得

    こんにちは!yuki_x です。 お世話になっています。 またまたJava(JavaScript?)で質問です。よろしくお願いします。 既に開いているウィンドウから子ウィンドウを起動する以下のような処理を考えています。 <SCRIPT LANGUAGE='JavaScript'> <!-- function subwinOpen() { window.open("pg_detail?type=0&details=" + "タイトル,名前,2002,10,住所," +", "sub", "menubar=no") ; } //--> </SCRIPT> <FORM action="pg_detail" METHOD="post" NAME="myform1" onSubmit=""> <INPUT type="button" value="詳細" onClick="subwinOpen();" /> </FORM> 子ウィンドウの起動時に、サーブレットに対しアクセスし、 動的にHTMLを生成する・・・という感じです。 サーブレット側で details の値を取得し、 String ddd = new String( req.getParameter("details").getBytes("8859_1"), "EUC_JP" ); 表示すると文字化けしてしまっているのですが、これを解消する方法はないでしょうか? 欲をいえば、親ウィンドのHTMLに <INPUT type="hidden" name="details" value="タイトル,名前,2002,10,住所," /> として値(情報)を持ち、 String aaa = new String( req.getParameter("detail0" ).getBytes("8859_1"), "EUC_JP" ); として、持ってこられればベストなのですが、これだとエラーで終わってしまうので・・・。 こちらの解決方法、およびご指摘も併せて お願いします。

    • ベストアンサー
    • Java
  • HPボタンの長さが異なる。

    下のボタンが マックの「IE4.5」「IE5.0」「ネスケ4.7」だとちゃんと奇麗に中央に表示されますが、 Windows「IE4.5」「IE5.0」はボタンの長さが異なり ガタガタになります。 windowsでも奇麗に並べるにはどうしたらいいのでしょうか? よろしくご指導お願いいたします。 テストでアップしてあるURLですのでご確認してください。 http://watn.jp/test/ <HTML> <HEAD> <TITLE>++++</TITLE> </HEAD> <!------------------- 中身-------------------> <center> 下のボタンがマックの「IE4.5」「IE5.0」「ネスケ4.7」だと<br> ちゃんと中央に表示されますが、Windows「IE4.5」「IE5.0」は<br> ボタンの長さが異なりガタガタになります。 <FORM> <INPUT TYPE="button" VALUE=" ●●・・◇◇◇   " onClick="window.location.href='kituke.html'"><br> <INPUT TYPE="button" VALUE="   ・・◇◇◇◇  " onClick="window.location.href='sadou.html'"><br> <INPUT TYPE="button" VALUE="   ・・◇◇◇◇◇ " onClick="window.location.href='buyou.html'"><br> <INPUT TYPE="button" VALUE=" ●●・・◇◇◇   " onClick="window.location.href='ivent.html'"><br> <INPUT TYPE="button" VALUE="   ・・◇◇◇◇  " onClick="window.location.href='tenjikai.html'"><br> <INPUT TYPE="button" VALUE=" ◇◇◇       " onClick="window.location.href='butai.html'"><br> <INPUT TYPE="button" VALUE=" ◇◇◇◇      " onClick="window.location.href='honten.html'"><br> <INPUT TYPE="button" VALUE=" ◇◇◇◇◇     " onClick="window.location.href='yono.html'"><br> </FORM> </center> </BODY> </HTML>

専門家に質問してみよう