window.openについて

このQ&Aのポイント
  • 画像のサムネイルをクリックしたときに新しいウィンドウを開くため、window.openを使用する方法について質問です。
  • サムネイルをクリックするたびに新しいウィンドウが開いてしまう問題が発生しており、ウィンドウの名前を指定する方法について教えていただきたいです。
  • 初心者のため理解が追いつかず、どのようにすれば望むウィンドウ名を指定できるのかわからない状況です。ご教授いただけると幸いです。
回答を見る
  • ベストアンサー

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;" と変えました。 これでいけるかと思ったのですが、サムネイルと同じウィンドウに開かれてしまいます。さて、、、自分の力量はこんな程度で、もうわかりません。 どうすれば、アタらしいウィンドウの名前を指定出来るのか、 初歩的なところかもしれませんがご教授よろしくお願い致します。

  • t-d-s
  • お礼率60% (102/170)

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

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

>サムネイルクリックする度に内容は書き変わるんですが、ウィンドウサイズが変わらないんです。 成る程、すみません、問題の要点を勘違いいたしておりました。もう解決されたかもしれませんが、 以下の様な感じでいいと思います。 function openwin(url, name, w, h) { var newWin=window.open(url, name, "width=" + w + ",height=" + h); newWin.resizeTo(w,h); newWin.focus(); }

t-d-s
質問者

お礼

なるほど。リサイズをいれるのですね。 ありがとうございます。 今は一様、開いたウィンドウにonloadでリサイズを入れて解決しました。 まだまだ、勉強不足でしたね。ありがとうございました。

その他の回答 (2)

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

>onclick="openwin(this.href, new, 800, 600); return false;" の new の所を サムネイル毎に '00' '01'とかしてやったらどうでしょう?

t-d-s
質問者

補足

補足です。お願いします。 開いたwindowは、次のサムネイルクリックしたときに変わるようにしてもらいたいので…日本語がおかしい… >onclick="openwin(this.href, new, 800, 600); return false;" とすべてに書きます。つまり同じウィンドウネームで、サムネイルクリックするたびに書き換えるという事なんですが、 かきかわるんですよ。ここ補足なんですが、ポップアップウィンドウ「new」が開いて、サムネイルクリックする度に内容は書き変わるんですが、ウィンドウサイズが変わらないんです。 これはポップアップするページ毎にrisizetoをいれれば、いいんですかね?あ、書きながら今きづきました、やってみます。

  • honey_001
  • ベストアンサー率35% (19/53)
回答No.1

私はFlashにて同じような操作をしているのですが、openwinで新しいウィンドウを開くとしかかいてないのではないでしょうか? onClickイベントで「fanction 名前()」を実行し、下記のスクリプトでウィンドウを開いています。 function 名前() { sub = window.open("url","window名); } 各リンクボタンのクリックイベントに各名前()を実行させ、window名を決めてやれば可能ではないでしょうか。 ただ、私はFlashでしかしたことがないので、試していただかないことにはわかりませんけどw

関連するQ&A

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

    ウィンドウオープンに関する初歩的質問ですが 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)としてリンクをクリックしてもウィンドウの大きさが変化しません。 文法上どこか間違っていますでしょうか? よろしくご教授承りたく存じます。

  • window.openで同画面遷移しない

    window.openで別窓でウィンドウを開き、開いたウィンドウは親ウィンドウにあるリンク1、リンク2、リンク3をクリックすると別窓で開いたウィンドウが同画面遷移で変わるようにしたいのですが、IEで各リンクをクリックすると新規ウィンドウが立ち上がってしまいます。Firefoxでは問題ないのですが。 <head>~</head>内に以下のjavascriptを書きました。 <script type="text/javascript"> <!-- function winOPEN(URL,winName) { window.open(URL, 'window1', 'width=400, height=300, menubar=no, toolbar=no, scrollbars=yes'); } // --> </script> またリンクのhtmlは以下のようにしました。 <ul> <li><a onClick="winOPEN('URL','window1')" title="" href="#">リンク1</a></li> <li><a onClick="winOPEN('URL','window1')" title="" href="#">リンク2</a></li> <li><a onClick="winOPEN('URL','window1')" title="" href="#">リンク3</a></li> </ul> どこがいけないのでしょうか。教えてください。

  • 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
  • 複数のウインドウを表示したい

    ホームページを作っていますが、ページ上に複数の画像があり画像をクリックすると別ウィンドウで画像を表示するようにしたいのですが、今のプログラムでは最初に表示し、次をクリックしても画像が切り替わりません。どうしたらよいのでしょうか?ちなみに今は <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で新しいウインドウを立ち上げたときにメインウインドウがおかしい

    メインウインドウの文章中の下の方にリンクをはって、そこからサブウインドウを開いています。実は少し前に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がスクロールしなくてもよいくらいの位置にあればいいのですが、スクロールしているところで配置してあると、メインウインドウが毎回トップのあたりにずれてしまうのです。(特別な制御はしていないはずなのですが・・・) おわかりになる方がいらっしゃいましたら教えてください。

  • window.openについて。

    初歩的な質問で申し訳ありません。 ★<script> function openWin(filename){ newWin = window.open(winname + ".html", "", "width=300, height=200, location=no, menubar=no, toolbar=no,resizable=yes"); } </script> ★<a href="JavaScript:openWin('pr00001')">PR00001</a> ・・・という二つのパーツ(★)があるのですが ここで分からないことがあります。 『function openWin(filename)』の『filename』にpr00001というhtmlファイルを埋め込む・・というのは理解できるのですが最初のパーツにある『newWin = window.open(winname + ".html"・・・』の中の『winname + ".html"』とは何を指しているのでしょうか・・・・。 大変申し訳ありませんがご指導お願いいたします。

  • window.openでタイトル名の指定

    window.openで開くウインドウのタイトルバーに指定文字列を入れたいのですが、できますでしょうか? ファイル(画像)を直リンクで開く為、そのパスが表示されてしまいます。 いろいろ検索して var w1 = ""; w1 = window.open(url , "hoge" , "width=640,height=180,scrollbars=yes,location=1"); w1.document.title = "test"; とかでできると書いてあったサイトもあったのですが私の場合どうもうまくいきません・・。 お願いいたします。

  • window openについて

    こんにちは、例えば以下のようなスクリプトがあったとします。 <html> <form name = serchform> <input type=text name=id><br> <input type=submit value=ID検索 onclick="openwin()"> <a href="javascript:open(1);"><Img Src="1.bmp"></a><br> <a href="javascript:open(2);"><Img Src="2.bmp"></a><br> <script type="text/javascript"><!-- function openwin() { a = document.serchform.id.value; url = "http://10.8.2.166/test/syuhou_kensaku.php?id="+a; mywin = window.open(url,"","width=1120,height=500"); } function open(select) { if(aa == 1){ alert("Test") url2="http://10.8.2.166/test/kensaku.php?msg="+Testです; mywin2 = window.open(url2,"",""); } } //--></script> このソースを実行すると、ID検索ボタンをクリックしても何も反応せず 1.bmpをクリックすると、Testとメッセージが表示され、画面左下に 警告マークが表示され、何も反応しません。 しかし、function open(select)を削除し、ID検索ボタンをクリック すると命令した処理を実行してくれます。 function openwin()を削除したらその逆も起きるのかと考えやって みたのですが、これについては上記と同じエラーでした。 なぜこのようになるのか原因が分かりません。 どなたかご存知の方がいらっしゃいましたら、アドバイスよろしく お願い致します。

  • JavaScript window.openで開く際、そのwindowの背景色を指定したい

    親ウィンドウにある画像のサムネイルをクリックすると、子windowにその画像の大きいものが表示されるHTMLを作っています。 その際に、子windowの背景色を黒くしたいのですが、うまくいきません。以下にソースを記載します。 【HTML】 <a href="javascript:void(0);" onClick="winopen('1.jpg')"><img src="1s.jpg" /></a> 【JavaScript】 function winopen(filename) {var w=window.open(filename,'','width=900,Height=700'); w.focus(); w.document.write("<body bgcolor=black>"); } このようになっているのですが、これだとw.document.write("<body bgcolor=black>")のところで、窓全体が黒くなってしまい、jpgがなくなってしまいます。 jpgの背景を黒くしたいのですが、どのようにしたらよいでしょうか?

  • IE7 window.openの新ウィンドウ名指定不可?

    下記記述例のようにwindow.openを使用して新しいウィンドウを開くリンクでウィンドウ名(下記の場合、「ex」)を指定した場合、IE7 では新しいウィンドウが開かないのですが、これはIE7の仕様なのでしょうか? それとも、私のIE7は、Standalone版(http://windz.blog21.fc2.com/blog-entry-151.html)なので、そのためウィンドウ名を指定すると開かないだけでしょうか? IE7の設定は、「ツール」→「インターネットオプション」→「タブ」の「設定」項目で「新しいウィンドウでポップアップを開く」も「新しいタブでポップアップを開く」も両方試しましたが、ウィンドウ名を指定するとポップアップが開きませんでした。 IE7で別ウインドを開けなかったコード(IE6の場合問題なく動作します。): <a href="javascript:;" onClick="window.open('http://www.example.html','ex','width=300,height=300');">Exページ</a> IE7で別ウインドを開けた(新しいウィンドウ名を指定しないと動作します。): <a href="javascript:;" onClick="window.open('http://www.example.html','','width=300,height=300');">Exページ</a> どうにかして新しいウィンドウを名を指定してもwindow.openがIE7で動作する方法を教えていただきたいのですが。 「href="javascript:;"」の部分は、リンクを押したときの親ページの繰り上がりを防ぐ為、「href="#"」ではなく、「href="javascript:;"」を使用したいと思います。 お手数ですが、理解されている方がおられましたら、上記コードを検証後、修正必要箇所をお教え下さい。自分でもかなり検証しましたが、どのようにすればよいか分かりませんでした。 よろしくお願いします。

専門家に質問してみよう