• 締切済み

サブウィンドウ

JavaScriptの得意な方、知っている方に質問です。 下記のように指定した場所をクリックすると、サブウィンドウが表示されますが、そのサブウィンドウの高さと幅は自動的にしたいです。 その方法を存知であれば教えてください。 <script Language="JavaScript"> <!-- subWin = new Array(); swNum = new Array(); function openSW(sURL,sID) { swName = "subwindow"+sID; subWin[sID] = window.open(sURL,swName,"width=400,height=700"); swNum.unshift(sID); for (i=swNum.length-1; i>=0; i--) { if ( isFinite(swNum[i]) && subWin[swNum[i]]) subWin[swNum[i]].focus(); } } // --> </script> <a href="javascript:openSW('ファイル名',0)"><U>テスト</U></a> よろしくお願いします。

みんなの回答

  • haraga
  • ベストアンサー率56% (36/64)
回答No.1

得意ではありませんがこんな感じです。 wとhはブラウザの幅、高さから計算してください var w=300; var h=500; subWin[sID] = window.open(sURL,swName,"width="+w+",height="+h);

関連するQ&A

  • サブウィンドウに背景色をつけたいのですが・・・

    今仕事でホームページを初めて作成しています。 そこで、30秒程度したら自動的に消えるサブウィンドウを作成したのですが、背景色がぜんぜんつきません。 いったいどこに、背景色のスクリプトを表示したらいいのですか。教えてください。 初心者でわからないので、全部のせてしまいました・・・ 要領わるくてすいません。 function createSubWindow() { subWindow = window.open("","SubWindow","width=370,height=220"); subWindow.document.writeln("<META HTTP-EQUIV='Content-Type' CONTENT='text/html; charset=Shift_JIS'>"); subWindow.document.writeln("<HTML>"); subWindow.document.writeln("<HEAD>"); subWindow.document.writeln("<TITLE>Whata's New?</TITLE>"); subWindow.document.writeln("<SCRIPT LANGUAGE='JavaScript'>"); subWindow.document.writeln("<!--"); subWindow.document.writeln("function setTimer() {"); subWindow.document.writeln("window.setTimeout('window.close()', 30 * 1000);"); subWindow.document.writeln("}"); subWindow.document.write ("//--"); subWindow.document.writeln(">"); subWindow.document.writeln("</SCRIPT>"); subWindow.document.writeln("</HEAD>"); subWindow.document.writeln("<BODY onLoad='setTimer()'>"); subWindow.document.writeln("</BODY>"); subWindow.document.writeln("</HTML>"); subWindow.document.close(); } function closeSubWindow() { if(!subWindow.closed) { subWindow.close(); } } //--> </SCRIPT>

  • 外部JSでサブウィンドウを設定する場合

    サブウィンドウの設定についてご質問いたします。 親ウィンドウの中の画像をクリックしてサブウィンドウを開くと言う設定をしたいのです。 親ウィンドウにある画像は2つでそれぞれ開くサブウィンドウの大きさは異なります。 まずsample.jsを作り function subopen1(){ window.open("××.html","subwin1", "width=450,height=450,toolbar=no,scrollbars=no,left=15,top=5") } function subopen2(){ window.open("××.html","subwin2", "width=500,height=450,toolbar=no,scrollbars=no,left=15,top=5"); } と記述しました。 そして<HEAD>~</HEAD>に <script type="text/javascript" src="sample.js"></script> 続いて<BODY>~</BODY>には <A href="javascript:subopen1()"><IMG src="××1.gif" width="100" height="120" alt="Click"></A> <A href="javascript:subopen2()"><IMG src="××2.gif" width="100" height="120" alt="Click"></A> と記述したのですが 「オブジェクトを指定して下さい」とエラー表示され実行出来ません。 上記に修正箇所があったら教えて下さい。 又別な方法でも構いませんのでサブウィンドウの設定が出来れば教えて頂きたいと思います。 どうか宜しくお願い致します。ペコ↓m(_ _;)m↓ペコ

  • 小ウインドウのスクロールバー

    小さいウインドウを出してメニューを作ろうと思っています そこで、早速作ってみたところ、小さいウインドウにはスクロールバーがありませんでした 小ウインドウには、スクロールバーは表示できないのでしょうか? 表示させる方法がありましたら、教えて下さい ちなみに、小ウインドウは下記のようにしています <SCRIPT LANGUAGE="JavaScript"> <!-- function subopen(){ subwin=window.open("menu.html","subwindow","width=290,height=185") } function subclose(){ subwin=window.open("","subwindow","width=290,height=185") subwin.close() } // --> </SCRIPT>

  • サブウィンドウから親画面に渡すには

    サブウィンドウでチェックを入れた項目を、「選択」というボタンを押すことで親画面のselectボックス内に表示させたいのですが、下記のどのようなコードを追加すればよろしいでしょうか。 --------------------------------------- <html> <head> <script LANGUAGE="JavaScript"> function WindowOpen(){ subWin=window.open(); subWin.document.open(); subWin.document.write("<html><body><form name='subform'>"); subWin.document.write("<input type='checkbox' name='check1'>東京"); subWin.document.write("<br><input type='checkbox' name='check2'>大阪"); subWin.document.write("<br><input type='checkbox' name='check3'>名古屋"); subWin.document.write("<br><input type='button' name='btn2' value='選択'>"); subWin.document.write("</form></body></html>"); subWin.document.close(); } </script> </head> <body> <form name="myform"> <input type="button" name="btn1" value="参照" onClick="WindowOpen();"> <select name="slct1" size="3" style="width:50%;"> <option> <option> <option> </select> </form> </body> </html>

  • サブウィンドウのリンクに応じて親ウィンドウのセレクトメニューにデータを反映させる

    よろしくお願いします。 子ウィンドウ側の地下鉄南北線という文字リンクをクリックすると 00:北24条駅","01:札幌駅","02:大通駅"が親ウィンドウのセレクトメニューに反映されるように変えたいのです。下記のスクリプトを使ってどのように親ウィンドウと子ウィンドウに分ければいいのでしょうか? 駅名の数はそれぞれのリンクによって違います。 <html> <head> <title>セレクトメニューで選択したものに応じて2つめのセレクトメニューに反映させる</title> <script language="JavaScript" type="text/JavaScript"> <!-- var data = new Array(":交通",":地下鉄南北線",":地下鉄東西線",":地下鉄東豊線"); var data0 = new Array(":---"); var data1 = new Array("00:北24条駅","01:札幌駅","02:大通駅"); var data2 = new Array("10:西18丁目駅","11:西11丁目駅","12:大通駅","13:バスセンター前","14:東札幌"); var data3 = new Array("20:札幌駅","21:大通駅","22:豊水すすきの"); function SetList(objid, arr){ var obj = document.getElementById(objid); for(i=obj.length; i>=0; i--){ obj.options[i] = null; } for(i=0; i<arr.length; i++){ var a = arr[i].split(":"); obj.options[i] = new Option(a[1], a[0]); } } //--> </script> </head> <body onLoad="SetList('sel0', data);"> <form name="form1"> <select id="sel0" name="sel0" style="width:160px;" onChange="SetList('sel1', eval('data' + this.selectedIndex))"> <option>---</option> </select> <select id="sel1" name="sel1" style="width:160px;"> <option>---</option> </select> </form> </body> </html> どなたか教えていただける方がいましたらどうぞよろしくお願いいたします。

  • document.write以外の方法での記述法

    javascript無知識なのですが 諸事情により下記のjsをdocument.write以外の方法で記述しなければならないのですが document.write以外の記述で同じ効果が得られる記述法ってないのですか? あればご教示よろしくお願いします。 <script language="javascript"> <!-- function rotationAdv() { m = 0, x = 0, y = 0; ad = new Array(); adv = new Array(); hit = new Array(); hit[0] = 1; adv[0] = 'A'; hit[1] = 1; adv[1] = 'B'; hit[2] = 1; adv[2] = 'C'; for(i=0; i<=hit.length - 1; i++) { m += hit[i]; } n = Math.floor(Math.random() * m); n++; for(i=0; i<=hit.length - 1; i++) { x = y; y += hit[i]; if(x<n && n<=y) ad = adv[i]; } document.write(ad); } rotationAdv(); //--> </script>

  • サブウィンドウの大きさを複数設定するには?

    こんにちは。 私の知っているスクリプトだと、一つの固定の大きさでのみサブウィンドウが表示されるので、それぞれのサブウィンドウの大きさを別々に指定したいのですが、どのように記述すれば表示可能でしょうか?大きい方に合わせてしまうと、小さい方が余白が大きすぎてデザイン的にあまり綺麗ではありません。 IE4.0/NN4.0以上対応のスクリプトをお願いします。 やりたい事。 画像をロールオーバーさせ、クリックした時になおかつポップアップでサブウィンドウを表示させる。(その時表示させるページの大きさに合わせ、ウィンドウサイズも変えたい) 既にやっている事。 画像をロールオーバーさせ、固定の大きさではポップアップでサブウィンドウも表示できている。 使用しているソース。 (head部分) <SCRIPT language="JavaScript"> <!-- function openwindow(url,target) { window.open(url,target, "scrollbars=yes,toolbar=no,location=no,status=yes,menubar=no,width=650,height=700") } // --> </SCRIPT> (body部分) <a href="javascript:openwindow('mariko/profile.html','pop_up')" onMouseOver="changeImage('botanb_2.gif', 'botan2','mojij_2.gif', 'moji2')" onMouseOut="changeImage('botanp_2.gif', 'botan2','mojie_2.gif', 'moji2')"><img src="images/botanp_2.gif" width="66" height="80" name="botan2" border="0"></a> よろしくお願いします。

  • サブウィンドウを表示させたいのですが・・・

    こんにちわ。 ちょっとした(といっても、ワード文書1ページ分)説明をサブウィンドウで表示させたいのですが、 できません。 以下がソースです。 <メインウィンドウ> <HEAD> <SCRIPT LANGUAGE="JavaScript"> <!-- function winOpen(winName,url,W,H){ //サブウインドウオープン var WinD11=window.open(url,winName,'scrollbars=1,width='+W+',height='+H+''); WinD11.document.close() } //--> </SCRIPT> </HEAD> <BODY> <A HREF="javascript:function voi(){};voi()" onClick="winOpen('','link1.html',400,200)"> この文字をクリックすると説明ウインドウ1が開きます </A> </BODY> 何が間違ってるのかご指導いただけないでしょうか? よろしくお願いいたします。m(__)m

  • リンクのクリック数を把握したい

    現在、以下のようなjavascriptを書いて、リンクを作っています。 <script type="text/javascript"> <!-- A01=new Array(); A01[0]='<a href="http://www.yahoo.co.jp/" target="blank">yahoo</a>'; A01[1]='<a href="http://www.google.co.jp/" target="blank">google</a>'; a01=Math.floor(Math.random()*A01.length); B01=new Array(); B01[0]='<a href="http://www.livedoor.co.jp/" target="blank">livedoor</a>'; B01[1]='<a href="http://www.goo.co.jp/" target="blank">goo</a>'; b01=Math.floor(Math.random()*B01.length); --> </script> とgoogleとyahoo、;livedoorとgooを配列に入れておき、 どちらかがランダムで出てくるようにして実際の表示部に以下を配置しています。 <script type="text/javascript"> <!-- document.write(A01[a01]); --> </script> <script type="text/javascript"> <!-- document.write(B01[b01]); --> </script> このスクリプトで、A01(yahoo or google)とB01 (livedoor or goo)が それぞれ何回クリックされたのかを把握したいです。 どのようにすれば良いか、ご教示頂けると幸いです。

  • prototype.jsを使うとfor~inがバグる件

    下記について知っている人が居ましたら教えてください。 HTAでprototype.jsを使うとfor~inでバグります。 具体的に, prototype.jsを読み込んだ状態でfor~inして, for~inの情報を参照すると,値ではなくソースコードが表示されます。 prototype.jsを読み込ませない場合で,通常のようにfor~inして, for~inの情報を参照すると,問題なく値が参照できます。 OS環境とバージョンによって違うかもしれませんが,僕の環境では現象が発生します。 対策方法を知っている人がいましたら教えてください。 下記のソースを実行すると, バグらない場合は,次のように出力されます。 hoge piyo toge バグる場合は,次のように出力されます。 function(item, i) { i = isNaN(i) ? this.length : (i < 0 ? this.length + i : i) + 1; var n = this.slice(0, i).reverse().indexOf(item); return (n < 0) ? n : i - n - 1; } -略- { this._each(function(value) { iterator(value, index++); }); } catch (e) { if (e != $break) throw e; } return this; } hoge piyo toge prototype.js使用すると... ///////////////////////////////////// // sample.hta バグ <html> <head> <title>ツール</title> <script type="text/javascript" src="./prototype.js"></script> </head> <body onLoad="javascript:window.resizeTo(600,480)"> <script language="javascript"> {   // Iniイメージ   // [TEST]   // KEY1=hoge   // KEY2=piyo   // KEY3=toge   var section = "TEST";   var key = new Array("KYE1", "KYE2", "KYE3");   var data = new Array("hoge", "piyo", "toge");   // セクション   items = new Array();   items[ section ] = new Array();   // キー   for(var i=0;i<key.length;i++){     items[ section ][ key[i] ] = data[i];   }   // 参照   for(var j in items[ section ]){     document.write( items[ section ][ j ] + "<br />\n" );   }   delete key;   delete data;   delete items; } </script> </body> </html> prototype.js使用しないと... ///////////////////////////////////// // sample.hta バグらない <html> <head> <title>ツール</title> <!-- <script type="text/javascript" src="./prototype.js"></script> --> </head> <body onLoad="javascript:window.resizeTo(600,480)"> <script language="javascript"> {   // Iniイメージ   // [TEST]   // KEY1=hoge   // KEY2=piyo   // KEY3=toge   var section = "TEST";   var key = new Array("KYE1", "KYE2", "KYE3");   var data = new Array("hoge", "piyo", "toge");   // セクション   items = new Array();   items[ section ] = new Array();   // キー   for(var i=0;i<key.length;i++){     items[ section ][ key[i] ] = data[i];   }   // 参照   for(var j in items[ section ]){     document.write( items[ section ][ j ] + "<br />\n" );   }   delete key;   delete data;   delete items; } </script> </body> </html> prototype.jsを最後に読み込ませると... ///////////////////////////////////// // sample.hta バグらない <html> <head> <title>ツール</title> </head> <body onLoad="javascript:window.resizeTo(600,480)"> <script language="javascript"> {   // Iniイメージ   // [TEST]   // KEY1=hoge   // KEY2=piyo   // KEY3=toge   var section = "TEST";   var key = new Array("KYE1", "KYE2", "KYE3");   var data = new Array("hoge", "piyo", "toge");   // セクション   items = new Array();   items[ section ] = new Array();   // キー   for(var i=0;i<key.length;i++){     items[ section ][ key[i] ] = data[i];   }   // 参照   for(var j in items[ section ]){     document.write( items[ section ][ j ] + "<br />\n" );   }   delete key;   delete data;   delete items; } </script> <script type="text/javascript" src="./prototype.js"></script> </body> </html>