• ベストアンサー

JavaScriptで新しいウインドウを立ち上げたときにメインウインドウがおかしい

メインウインドウの文章中の下の方にリンクをはって、そこからサブウインドウを開いています。実は少し前にatsuotaさんにご回答いただいたこの方法を利用しているのですが <!-- function openWin1() { window.open("sub1.html","sub1","width=320,height=240"); } function openWin2() { window.open("sub2.html","sub2","width=320,height=240"); } --> <a href="" onClick="openWin1()">sample1</a> <a href="" onClick="openWin2()">sample2</a> このsample1とか2がスクロールしなくてもよいくらいの位置にあればいいのですが、スクロールしているところで配置してあると、メインウインドウが毎回トップのあたりにずれてしまうのです。(特別な制御はしていないはずなのですが・・・) おわかりになる方がいらっしゃいましたら教えてください。

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

  • ベストアンサー
  • y_oku
  • ベストアンサー率62% (25/40)
回答No.3

追加ですが、以下のようにURLを引数でとるようにすれば、 一つのスクリプト呼ぶだけでウインドウ開き放題です。 あんまり勝手に違うウインドウ開かれると迷惑ですけどね。 ------------------------------------------------------- <html> <head> <script language="JavaScript"> <!-- function openWin(URL){ window.open(URL, "_blank", "width=320,height=240"); } // --> </script> </head> <body> <a href="javascript:openWin('sub1.html')">sub1</a> <a href="javascript:openWin('sub2.html')">sub2</a> </body> </html> -------------------------------------------------------

chikonojyo
質問者

お礼

なるほど。一度教えていただいた形でやってみたいと思います。いろいろ迷ったんですが、リストのページがありまして、そこに配置する・・って考えたときに外に出すしか場所がなかったんです。確かにあんまりいっぱいウインドウが開くと面倒ですよね。一応見たい方だけが開くようになっていればOKかなと思ってるんですが。いろいろと細部まで教えてくださってありがとうございました!!

その他の回答 (2)

  • y_oku
  • ベストアンサー率62% (25/40)
回答No.2

おそらく、 onClickのスクリプトで新しいウインドウは開くけどそれと同時に、 href="" で現在のページを読みこみなおしているのでは、と思います。 (自分で試したらディレクトリ一覧が出てしまいました。) リンクのところを以下のように書きなおしてください。 <a href="javascript:openWin1()">sample1</a> <a href="javascript:openWin2()">sample2</a>

chikonojyo
質問者

お礼

一度上記のように書き換えてテストしてみます!ありがとうございました!!!

  • mnabe
  • ベストアンサー率33% (427/1283)
回答No.1

ブラウザは何のバージョンいくつを使用しての話ですか?  IEの4.0x以降のブラウザなら、その様な現象になる様です。  理由は解りませんので、対処方法は、ページ上の方に配置するか、フレームを切って、フレーム内に別Windowsを表示するJavaScriptを配置するしかないようです。

chikonojyo
質問者

お礼

うちのブラウザはMacOSでIE5.0なのです。なるほどそういった原因が起こってしまう可能性があるんですね。。教えていただいてありがとうございます!

関連するQ&A

  • javascriptでのポップアップウィンドウが開かなくて困っています><

    初歩的な質問ですいません。 <script language="JavaScript"> <!-- function OpenWin(){ win=window.open("sample.html","new","width=100,height=100"); } //--> </script> <a href="javascript:OpenWin()"><img src="img/1.jpg" width="60" height="60" onClick="MM_openBrWindow('sample.html','sample','scrollbars=yes,width=460,height=460')" border="0"></a> 上のスクリプトで下のリンクで開こうとする時に、 どうしても開けません。>< どうしてなのでしょうか!? どこかが間違えているのでしょうか!? 誰か助けていただけませんでしょうか;><;;

  • JavaScriptのwindow.openでリファラーが取得できない。

    <SCRIPT language="JavaScript"> <!-- function OpenWin(){ window.open("sample.cgi,"new","width=500,height=250"); } // --> <A href="#" onClick="OpenWin()">オープン</a> 上のようにsample.htmlのページ内にwindow.openのJavaScriptを書いています。 sample.cgi内に$ENV{'HTTP_REFERER'}を埋め込んでいるのですがリファラーが取得できません。 window.openの場合はリファラーは取得できないのでしょうか?

    • ベストアンサー
    • CGI
  • java scriptによるポップアップウインドウについて

    <head> <SCRIPT language="JavaScript"> <!-- function OpenWin1(){ win=window.open("window1.html","new","width=300,height=100"); } // --> <!-- function OpenWin2(){ win=window.open("window2.html","new","width=500,height=200"); } // --> </SCRIPT> </head> <body bgcolor="#FFFFFF" text="#000000"> <A href="javascript:OpenWin1()">1.ウィンドウを開く</A> <A href="javascript:OpenWin2()">2.ウィンドウを開く</A> </body> 「1.ウィンドウを開く」をクリックしてwindow1.htmlのポップアップウインドウを表示させたまま、「2.ウィンドウを開く」をクリックすると、最初のウインドウサイズを保持したまま、新しいウインドウが開いてしまうのですが、これをうまく処理する方法はないのでしょうか? どなたかアドバイス頂けると嬉しいです。 よろしくお願い致します。

  • ウィンドウオープンに関する初歩的質問ですが

    ウィンドウオープンに関する初歩的質問ですが html側で <a href="javascript:OpenWin('new.html',100,100)">ウィンドウオープン</a> と記述して javascript側で function OpenWin(url,Width,Height){ win=window.open(url,"new","width=Width,height=Height,resizable=1,scrollbars=1"); } と記述してあります。 javascript:OpenWin('new.html',100,100)の部分を javascript:OpenWin('new.html',300,500)としてリンクをクリックしてもウィンドウの大きさが変化しません。 文法上どこか間違っていますでしょうか? よろしくご教授承りたく存じます。

  • JavaScript:メインページからサブウィンドウページを遷移させる際

    メインページにボタン画像3つを配置して、それぞれからサブウィンドウを任意のサイズで開こうとしています。サブウィンドウの中身はそれぞれ別のものですが、サイズは同じなのでサブウィンドウ内でwinNameを同一にして、遷移させようとしています。ただ、遷移自体はうまくいくのですが、最初のクリックでサブウィンドウはメインウィンドウより前にでますが、そのまま2つ目のボタンで遷移させようとするとサブウィンドウはメインウィンドウの後ろにいってしまいます。どうしたら、サブウィンドウを絶えずアクティブにできるのでしょうか。 メインぺージのJSにwindow.focus();をいれたり、サブウィンドウのbodyにonBlur="focus()"をいれたり、サブウィンドウのJSにwindow.focus();をいれてもうまくいきませんでした。 どうぞよろしくお願いいたします。 メインページのJS <script language="JavaScript"> <!-- function MM_openBrWindow(theURL,winName,features) { //v2.0 window.open(theURL,winName,features); } //--> </script> ボタン画像のJS Aボタン:<A href="javascript:void(0); " onClick="MM_openBrWindow('a.html','LA','width=320,height=255')"><IMG SRC="images/t_large.jpg" ALT="Large" WIDTH="120" HEIGHT="28" VSPACE="5" border="0"></A> Bボタン:<A HREF="javascript:void(0); " onClick="MM_openBrWindow('b.html','LA','width=320,height=255')"><IMG SRC="images/t_large.jpg" ALT="Large" WIDTH="120" HEIGHT="28" VSPACE="5" BORDER="0"></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> ##はファイル名 といった様になっています。

  • Javascriptで開いたWindowのスクロール

    <SCRIPT language="JavaScript"><!-- function openWin2() { window.open("http://www.OOOO/hanbai.htm","通信販売法","width=636,height=250,menubar=no,location=no,left=10,top=30") } // --></SCRIPT> <SCRIPT language="JavaScript"><!-- function openWin1() { window.open("http://www.OOOO/souryou.htm","送料について","width=579,height=240,scrollbars=no,location=no,menubar=no,left=10,top=30") } // --></SCRIPT> 上記の文で、「送料について」はスクロールバーがなくて OKなのですが、 「通信販売法」は、スクロールバーを出したいのですが、 上の文では、スクロールバーは出てきません。 (表示サイズで途切れてしまう) どう直せば、スクロールバーが出てきますでしょうか??

  • window.openについて

    お世話様です。 早速本題なんですが画像のサムネイルページがあります。 そのページからサムネイルをクリックすると新しいウィンドウを開き元画像を表示するのですが、すべてサイズが違うためヘッダに <script language="JavaScript" type="text/javascript"> <!-- function openwin(url, w, h) { window.open(url,"","width=" + w + ",height=" + h); } // --> </script> と書いて、リンク<a>に onclick="openwin(this.href, 800, 600); return false;" とリンク1つづつに数値(幅,高さ)を変えながら入れて、 サムネイルが指定したサイズで新規ウィンドウとして開くところまでは至りました。 ですが、これでは、サムネイルをクリックする度に新規ウィンドウが開いてしまいます。ウィンドウの名前を指定しようと思い、 ヘッダを function openwin(url, name, w, h) { window.open(url, name, "width=" + w + ",height=" + h); とかえ、リンクを onclick="openwin(this.href, new, 800, 600); return false;" と変えました。 これでいけるかと思ったのですが、サムネイルと同じウィンドウに開かれてしまいます。さて、、、自分の力量はこんな程度で、もうわかりません。 どうすれば、アタらしいウィンドウの名前を指定出来るのか、 初歩的なところかもしれませんがご教授よろしくお願い致します。

  • リンクで別ウインドウを立ち上げる場合

    時間がなくて、ものすごい困っているので教えてください。 JavaScriptでテキストリンク部分から別ウインドウを立ち上げたいのですが、 <!-- function openWin() { window.open("sub.html","sub","width=320,height=240"); } // --> これだと一つのリンクと一つのウインドウにということになりますよね。 4つそういったリンクさせる場所が存在し、さらに同じサイズのウインドウを立ち上げたいのですが、4つを列記する場合はどうすればよいのでしょうか。javascript初心者なのでどうしてもわかりません。ご存じの方がいらっしゃいましたら、教えてください!

  • 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> このようなソースを途中まで書いてみましたが、子ウインドウすら開いて くれません。 ぜひご教示をよろしくお願いいたします。

専門家に質問してみよう