• ベストアンサー

別ウインドウを開くようにしてるのですが

こんにちは HPで画像を開く際に、下のようなjavascriptを使っています。 <SCRIPT Language="JavaScript"> <!-- function openwin(url) { /* 横幅400px、縦幅200pxのウインドウを開く */ w = window.open(url, 'win','width=400,height=200,status=no,scrollbars=yes,directories=no,menubar=no,resizable=yes,toolbar=no'); } //--> </SCRIPT> body部分に <a href="javascript:openwin('abc.htm')">いろは </a> としています。 で、お教え願いたいのは、別のサイズのウインドウにしたいときはどうしたらいいのでしょうか? 普段は400×200でいいのですが、たまに400×400にしたいときがあります。 方法を教えてくださいませ よろしくお願いいたします。

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

  • ベストアンサー
回答No.4

No.1のmousengokeです では関数を function openwin(url,haba,takasa) { w = window.open(url, 'win','width=' + haba + ',height=' + takasa + ',status=no,scrollbars=yes,directories=no,menubar=no,resizable=yes,toolbar=no'); } としてください。呼び出す時には <a href="javascript:openwin('abc.htm',400,200)">いろは</a> あるいは <a href="javascript:openwin('abc.htm',400,400)">いろは</a> のようにしてください。

vaiooooo
質問者

お礼

再びのご回答に感謝します。 いろんな記述があるのですね。。 皆さんの頭の中を覗いてみたい気持ちです。 本当にありがとうございました。 いろいろネットで調べてたのですが、こちらでは あっという間に解決するのでビックリしています。 ありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (3)

  • manayu
  • ベストアンサー率53% (79/148)
回答No.3

思いついたやり方。 1.横幅400px、縦幅200pxのウインドウを開く関数と   横幅400px、縦幅400pxのウインドウを開く関数を二つつくる 2.サンプルを示します <html> <head> <SCRIPT Language="JavaScript"> <!-- function openwin(url,wid,hei) { /* 横幅がwidピクセル、縦幅heiピクセルのウインドウを開く */ w = window.open(url, 'win','width=' + wid + ',height=' + hei + ',status=no,scrollbars=yes,directories=no,menubar=no,resizable=yes,toolbar=no'); } //--> </SCRIPT> <title></title> </head> <body> <a href="javascript:openwin('abc.html',400,200)">400×200ウインドウ </a> <br> <a href="javascript:openwin('abc.html',400,400)">400×400ウインドウ </a> </body> </html> という感じでしょうか? 役に立つかどうかわかりませんが。

vaiooooo
質問者

お礼

ご回答ありがとうございます。 ほんとうにこちらはすごい方ばっかりで頭がさがります。 「思いついた」、とは。。。 ただただ尊敬です。。 こちらはmacなんかもOKなんでしょうか? 早速使わせていただきます、 ありがとうございました。

すると、全ての回答が全文表示されます。
  • Joh_Taka
  • ベストアンサー率76% (222/292)
回答No.2

開かれるリンク先のウインドウがそれぞれ違う大きさであれば、違うリンク先へ移る際に、既に開いているウインドウを一度閉じて、再度、別な指定の大きさでウインドウを開かせる必要があります。 別なリンク部分をクリック → 既に開いているウインドウを一度閉じる → サイズを変えてウインドウを再表示。 ~方法は色々あると思いますが、以上の条件をクリアさせるための一つの方法として、仮に、開かれるリンク先のウインドウを「A1.html」「A2.html」「A3.html」の3種類だとすると、それぞれの各 <body> に onBlur="window.close()" を追加記述して、別ウインドウがフォーカスを失ったときに、自身のウインドウを閉じるアクションを加えてみてはいかがでしょうか。 リンク元A.htmlの記述の一例として・・ <html> <head> <title>A</title> <script type="text/javascript"> <!-- function OpenWinA1(){ window.open("A1.html","win","width=400,height=200"); } function OpenWinA2(){ window.open("A2.html","win","width=400,height=400"); } function OpenWinA3(){ window.open("A3.html","win","width=400,height=200"); } // --> </script> </head> <body> <a href="javascript:OpenWinA1()">ウインドウサイズ400×200pixelのA1.htmlを開く</a> <br> <a href="javascript:OpenWinA2()">ウインドウサイズ400×400pixelのA2.htmlを開く</a> <br> <a href="javascript:OpenWinA3()">ウインドウサイズ400×200pixelのA3.htmlを開く</a> </body> </html> リンク先A1.htmlの例として・・ <html> <head> <title>1</title> </head> <body onBlur="window.close()"> <div align="center"> <h1>1</h1> <br> <form> <input type="button" value="このウインドウを閉じる" onClick="window.close()"> </form> </div> </body> </html> の様な感じになりますが、いかがでしょうか。 注意点として、Mac.のIE、NNでは、リンク元をダブルクリックしなければ別ウインドウは開かないようです。(Safariは未検証です) また、WindowsのOperaなど一部のブラウザでも、ウインドウのフォーカスコントロールに対する解釈が違うため、リンク元をダブルクリックしなければ別ウインドウが表示されない現象があります。 (この方法を使うのでしたら、MacユーザやOperaユーザのために、もし、リンク元部分をクリックしても別ウインドウが開かなかったときは、ダブルクリックしてもらうように注釈を加えた方が、親切かもしれませんね・・) とは言え、ワンクリックだけで開くか、ダブルクリックしなければ開かないか、その違いだけですから、よほど古いブラウザを使わない限り特に動作上大きな問題はないと思いますので(?)、その点を御了承の上、よろしければお試し下さい。 もっと良いコーディングがあるかもしれませんが、私に今思いつくのはこの程度です。 (申し訳ない!)

vaiooooo
質問者

お礼

ご回答ありがとうございます。 そうです!こんな風にしたいんです! ものすごくご丁寧にありがとうございました。 MACではダブルクリックなんですか?なんか複雑な世界です。。。 まだまだ初心者なのでいろいろわからないことだらけです。 早速試してみます ありがとうございました。

すると、全ての回答が全文表示されます。
回答No.1

width=400,height=200 の数字を変えればいいのでは?400×400なら width=400,height=400 ですね。

vaiooooo
質問者

お礼

ご回答ありがとうございます。 通常は400.200でいいのですが、同じページ内で 400.400のウインドウも開くようにしたい場合はどうしたらよいのでしょうか? 400.200、400.400の混在というか。。。 またお教えください、ありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A