複数の別ウィンドウを同じ位置に表示するには?

このQ&Aのポイント
  • JavaScriptで全く同じ位置に複数の別ウィンドウを表示させることは可能でしょうか?
  • 開いたウィンドウの位置を全く同じ位置に表示させる方法を探しています。
  • 関数を使用して別ウィンドウを開く際に、位置を指定することはできるのでしょうか?
回答を見る
  • ベストアンサー

複数の別ウィンドウを同じ位置に表示するには?

以下のような別ウィンドウを表示する関数を用意しています。 開いたウィンドウの位置を全く同じ位置に表示させたいのですが、 JavaScriptで全く同じ位置にウィンドウを表示させることは可能なのでしょうか? function test1() {   var w = window.open("/TestServlet", "win1", "");   w.focus();   return false; } function test2() {   var w = window.open("/TestServlet2", "win2", "");   w.focus();   return false; }

noname#43588
noname#43588

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

w = window.open("/TestServlet", "win1", "screenX=100,screenY=100,left=100,top=100"); のように第3引数で指定します。 left,top は、IE用の指定 または、 w.moveTo(100,100); のように開いてから移動します。

noname#43588
質問者

補足

回答ありがとうございます。 確かに、教えていただいた方法で、出来ましたが、 表示する座標を固定しています。 座標を特定せずに、2回目のウィンドウをまったく同じ位置に表示 させることは可能でしょうか?

その他の回答 (1)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

>座標を特定せずに、2回目のウィンドウをまったく同じ位置に表示させることは可能でしょうか? 1回目のウィンドウは表示する位置を指定せずに表示をして 2回目のウィンドウをその表示されている位置に重ねて表示をするというような意味でしょうか? もし、そうなら、 Firefox では、ウィンドウ位置は、window.screenX,window.screenY (つまりw.screenX,w.screenY)で得られますが、 IEでは、同様に、window.screenLeft, window.screenTop でウィンドウ位置が得られるのですが、困ったことには、この座標は、クライアント領域(ブラウザの表示領域でツールバーなどを除いた部分のウィンドウ)なのです。 なので、うまくいきません。 >表示する座標を固定しています。 が変数に置き換えたいということであるなら w = window.open("/TestServlet", "win1", "screenX=100,screenY=100,left=100,top=100"); は、 x=100; y=100; w = window.open("/TestServlet", "win1", "screenX="+ x +",screenY="+y+",left="+x+",top="+y); あるいは w.moveTo(x,y); の様にできます。

noname#43588
質問者

お礼

ありがとうございます。 基本的にはできないということで納得しました。

関連するQ&A

  • 複数のウインドウを表示したい

    ホームページを作っていますが、ページ上に複数の画像があり画像をクリックすると別ウィンドウで画像を表示するようにしたいのですが、今のプログラムでは最初に表示し、次をクリックしても画像が切り替わりません。どうしたらよいのでしょうか?ちなみに今は <script language="JavaScript"> <!-- function openWin(url) { return false; } // --> </script> <script language="JavaScript1.1"> <!-- var w = window; function openWin(url) { if ((w == window) || w.closed) { w = open(url, "_blank", "width=400,height=319"); } else { w.focus(); } return(false); } // --> </script> <a href="##.htm" onClick="return openWin('##.htm')"> <img src="##.jpg" width="60" height="12" border="0"></a> ##はファイル名 といった様になっています。

  • 複数HTMLを1つの別ウィンドウで表示

    javascriptについて質問です。 1HTMLから別ウィンドウ表示したいリンクが複数あります。 クライアントからクリックの度にウィンドウが新たに開かないようにして欲しいとの 依頼があり、下記のjavascriptでウィンドウ名「subwindow」に上書き表示されるようにしました。 ■javascript■ <!-- function subWins(pages){ w=window.open(pages,"subwindow",""); w.focus(); } //--> ■HTML■ <a href="javascript:;"onClick="subWins('リンク先URL')">●●●●●</a> 上記の場合、javascriptをOFFにしているとリンクが効きません。 javascriptをOFFにしていてもウィンドウが開く方法はないでしょうか。 説明不足でしたら補足させていただきます。どうぞ宜しくお願い致します。

  • ウィンドウが開きません

     自分のホームページ上にテストを作って、その結果を別のウィンドウで出すようにしたいのですが、出ません。そのまま強引にアップロードして、そのページのソースを見てみたら、入れてないスクリプトが表示されました。 <script language="JavaScript"><!--function Symerror() {return true;}window.onerror = SymError; var SymRealWinOpen = window.open;function SymWinOpen(url,name,attributes){return(new Object());} window.open = SymWinOpen;//--></script> 見難くてすみませんが、これはウインドウが開かない理由がかかれているのでしょうか。どうやったらウインドウが表示されるでしょうか。ちなみにホームページ作成には本舗というDionのものを使っています。また、同じプログラムでマイドキュメント内ではちゃんと表示されます。

  • 開いたタブ(ウィンドウ)にフォーカスが当たらない

    IE8 をタブモードで利用したとき、新しく開いた タブ(ウィンドウ)にフォーカスが当たりません。 JavaScript の window.open で別タブ(ウィンドウ)を 表示する処理を onload イベントで行うと、新しい タブ(ウィンドウ)にフォーカスがあたりません。 button のクリックイベントで表示した場合は、 新しいタブ(ウィンドウ)にフォーカスが当たります。 やりたいことは submit してページを再表示するときに 新しいタブ(ウィンドウ)を表示して、そちらにフォー カスを設定することです。 また、できればブラウザのバージョンによって処理を 切り替えるようなことはしたくありません。 何か原因や解決策などありましたらご教授ください。 よろしくお願いします。 <この現象が発生する環境> IE8 と IE7 で下記のように設定した場合 ツール → インターネットオプション → 全般タブ  → タブ → 設定  → ポップアップの発生時  の設定を   「常に新しいタブでポップアップを開く」  にする。 ※IE9 ではこの現象は発生せず、新しいタブ(ウィンドウ)に  フォーカスがあたります。 ※IE7, 8 でもタブモードではなく、別ウィンドウで開く  設定になっている場合は、新しいウィンドウにフォーカスが  あたります。 <サンプルソースと説明> (説明) test1.html から window.open で test2.html を表示します。 onload で表示したときは test2.html のタブ(ウィンドウ)に フォーカスがあたりません。 button のクリックイベントで表示したときは test2.html の タブ(ウィンドウ)にフォーカスがあたります。 ---(test1.html)---------------------------------- <html> <head runat="server"> <title></title> <script language="javascript" type="text/javascript"> window.onload = function () { OpenWindowTest(); } function OpenWindowTest() { var TestWin = window.open('test2.html'); TestWin.document.focus(); } </script> </head> <body> <form> <div> <input type="button" value="button" onclick="OpenWindowTest();" /> <br /> <input type="submit" value="submit" /> </div> </form> </body> </html> --------------------------------------------------- ---(test2.html)---------------------------------- <html> <body onload="window.focus();"> テストページ </body> </html> ---------------------------------------------------

  • 別ウィンドウでスクロールバーを表示させる

    画面中央位置に別ウィンドウを開くまでは上手くいったのですが スクロールバーを表示させることができません・・・。 こちらのソースにスクロールバーを表示させるソースを加えたいのですが どうしたらいいでしょうか・・。知識があまり無いのにサンプルを拾ってきて応用しましたのでわかりません・・。初歩的な質問ですみません・・・・ <script type="text/javascript"> function popWin1() { var popW = 521; var popH = 690; window.open('/html/page72.html', 'pop', 'width='+popW+',height='+popH+',top='+((screen.height-popH)/2)+',left='+((screen.width-popW)/2)); } </script>

  • 親html内の要素を新しいウィンドウで表示するには

    宜しくお願い致します。 親htmlとして閲覧している時には表示されない特定のdiv要素を「表示する」といったようなボタンをクリックすることで、子ウィンドウに読み込ませて表示させることができるコードを探しております。 通常、親htmlから子ウィンドウを表示させるには、子ウィンドウに読み込むhtmlファイルを別に用意し、親htmlから子ウィンドウを表示させるのが普通かと思うのですが、事情があり、子ウィンドウ用のhtmlを用意できません。 なので、親htmlに子ウィンドウとして読み込ませるdiv要素を書き、親htmlとして閲覧している時はdisplay:none;のような感じで非表示にしておき、「子ウィンドウを開く」などといったボタンをクリック、子ウィンドウに親htmlに書かれているdiv要素を読み込んで表示させる、というようなことはできないものかと思っております。 やりたいことが抽象的で、検索しても思うような事例が見つからないため、こちらで質問させて頂きました。 子ウィンドウを開くためのコードは下記のようになっております。 ■親html <html> <head> <script type="text/javascript"> <!-- function gene_window(mypage, myname, w, h, scroll) { var win_width = (screen.width - w) / 2; var win_height = (screen.height - h) / 2; win_detail = 'height='+h+',width='+w+',top='+win_height+', left='+win_width+',scrollbars='+scroll+',resizable' win = window.open(mypage, myname, win_detail) if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); } } --> </script> </head> <!--普通に表示する部分--> <div> <a href="●●" onClick="gene_window(this.href, 'name','500','400','yes');return false;">子ウィンドウを開く</a> </div> <!--子ウィンドウとして表示したい部分※親htmlでは非表示--> <div style="display:none">hogehoge</div> </body> </html> 子ウィンドウを開くと、<div style="display:none">hogehoge</div>の部分だけが子ウィンドウに読み込まれ、<div>hogehoge</div>として表示される。 分かりにくい説明で申し訳ありません。 補足説明致しますので、もしお分かりの方がいらっしゃいましたら、どうかご教授下さいますようお願い致します。

  • 戻り値必要なし

    JavaScript初心者です。 戻り値なしの関数について。return とreturn falseでは何か違うのでしょうか? function test(){ if(flag) return; var num=1+2; } function test2(){ if(flag) return false; var num=1+2; } よろしくお願いします。

  • 別ウィンドウをそれぞれ違うサイズで位置指定で開きたい

    現在ウェブサイトを作っておりまして、別ウィンドウをそれぞれ違うサイズで位置指定で開きたいと思い、headの中に以下の記述をしました。 <SCRIPT language="JavaScript"> <!-- w = 800; h = 600; function season2009ss() { x = (screen.width - w) / 2; y = (screen.height - h) / 2; subWin = window.open("look/season2009ss.html","season2009ss","screenX="+x+",screenY="+y+",left="+x+",top="+y+",width="+w+",height="+h+",scrollbars=yes"); } //--> </SCRIPT> <SCRIPT language="JavaScript"> <!-- w = 500; h = 660; function contact() { x = (screen.width - w) / 2; y = (screen.height - h) / 2; subWin = window.open("mail/contact.html","contact","screenX="+x+",screenY="+y+",left="+x+",top="+y+",width="+w+",height="+h+",scrollbars=yes"); } //--> </SCRIPT> 開きたい画面は二つあり、位置は両ウィンドウとも画面の真ん中で、サイズのみ違います。 しかし、この形ですとなぜかウィンドウサイズは両方とも同じになってしまい、狙い通りにいきません。 何が原因なのでしょうか。

  • 中央に、アドレスバー表示した別窓を表示

    別窓を中央に開くため、 次のものを用意したのですが、その別窓にアドレスバーを表示させたいのです。 どこをどうしたらよいのでしょうか。 locationってのをどこかに書き込めば良いのかと思っていろいろやってみておりますが、うまくいきません。 ぜひご教授ください。 ↓現在、用意したもの <head> <SCRIPT language="javascript"> var win = null; function NewWindow(mypage,myname,w,h,scroll){ LeftPosition = (screen.width) ? (screen.width-w)/2 : 0; TopPosition = (screen.height) ? (screen.height-h)/2 : 0; settings = 'height='+h+',width='+w+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',resizable' win = window.open(mypage,myname,settings) } </SCRIPT> </head> <body> <a href="demo.html" onclick="NewWindow(this.href,'myname','450','375','no' );return false">[こちら]</A> </body>

  • 子ウィンドウでウィンドウサイズ固定にしてtarget=

    HPを作っていて親ウィンドウに↓のように <script language="JavaScript"> <!-- function winopen(url){ win=window.open(url,"host","scrollbars=1,width=780,height=480"); } //--> </script> ~略~ <a href="dougu/keito.html" target="_blank" onClick="Javascript:winopen('dougu/keito.html');return false;"><img src="img/item-keito10.gif" width="50" height="38" border="0"> ウィンドウサイズを固定してtarget="_blank"で開いてさらにその子ウィンドウでも同じようにリンクを張って <script language="JavaScript"> <!-- function winopen(url){ win=window.open(url,"host","scrollbars=1,width=780,height=480"); } //--> </script> ~略~ <a href="../wash.html" target="_blank" class="style1" onClick="Javascript:winopen('../wash.html');return false;">こちら</a> とtarget="_blank"でウィンドウサイズを固定しして開きたいのですが同じウィンドウで開いてしまいます。 説明の仕方が分かりづらくてすみません。分からないようでしたら補足いたします。

専門家に質問してみよう