• 締切済み

window open() → close()がうまくいきません。

2回目の質問をさせていただきます。 親窓にある複数の画像からそれぞれ子窓を開いた後、 子窓を閉じる記述がわかりません。 自分なりにトライしているのですが、どうしてもうまく動作しません。 どなたか、教えてください。(まだまだ、初心者なのでできるだけ詳しくお願い致します。)

  • yimo
  • お礼率100% (7/7)

みんなの回答

  • Kizz
  • ベストアンサー率47% (30/63)
回答No.1

はじめまして、yimoさん。 これは・・、単純に window.open()で子ウインドウを表示した後に、 この子ウインドウを閉じるには?(表示処理した親ウインドウ側で) ということかな? 「複数ある画像からそれぞれ・・」というのは・・画像<img>にリンク <a>をつけていて、それが子ウインドウを表示する操作としているのかな? 上記の通りと考えた場合の例を。 --(EX)------------------------------ <script language="JavaScript"> <!-- var Win_bord1 = null; function map_bord1() { var url = "なんかアドレスを(ページや画像)"; Win_bord1 = window.open(url, 'ウインドウの名前(省略可)','属性'); } function close_bord1() { if( Win_bord1 != null ) Win_bord1.close(); } //--> </script> <a href="javascript:map_bord1()"><img src="画像" border="0" height="高さ" width="幅"></a><br> <input type="button" value="子ウインドウを閉じる" onClick="javascript:close_bord1()"> --(END:EX)------------------------------ 補足) ・つまり window.open()の戻り値をうけて、それ.close()と指定する ・このサンプルでは閉じる指定を明確にボタンを設けてみたけど、実際には  「このページが閉じられたら(他ページにうつってしまったら)」とかいう  時にやりたいかも?  その場合は、<body onUnload="close_bord1()">とすればいいよ。 参考) ・open()の「属性」は色々指定があるよ。  例)'width=480,height=350,status=no,scrollbars=yes,directories=yes,menubar=no,resizable=yes,toolbar=no'  説明は省略するけど・・名前からなんとなくわかるでしょ? がんばってね。 では。

yimo
質問者

お礼

Kizzさん、早速ありがとうございます。 なんとか、うまくいきました。 お世話になりました。

関連するQ&A

  • window.closeもしくはwindow.opener.closeで警告を表示させない方法

    宜しくお願い致します。 ログイン画面を作っております。 ログインフォームからID、パスワードでログインした際に、子ウィンドウを表示させます。その際に、残った親ウィンドウを子ウィンドウが開いた際に閉じたいのですが、window.closeもしくはwindow.opener.closeで閉じると警告ダイアログが表示されてしまいます。この警告ダイアログを表示させない方法はありますか?window.closeもしくはwindows.opener.closeで警告を表示させない様にする事が不可の場合、同じ動作が出来る関数はありますか?

  • window.close時の確認ダイアログについて

    I.E5.5での質問です。 window.openとwindow.closeを使用して 子ウィンドウから親ウィンドウを閉じる時や、 親ウィンドウから自分自身(親window)を閉じようとする時に 確認のダイアログがでてこないようにするにはどうしたらよいでしょうか?

  • 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.close後のwindow.openについて

    javascriptで、ボタンクリックでウィンドウを開くときに、同じ名前のウィンドウが既に開いていたら一回閉じで、開き直すというロジックを書いてます。 これはIE6では正常に動いているのですが、IE7になると、ウィンドウが閉じたまま、開き直さないで何も表示されなくなってしまいます。たまに開くときもあるのですが。 ボタンクリック後のコードを載せます。 ちゃんと開く方法はないでしょうか? function openwindow(){ var newWindow = window.open("test.html", "test"); if(newWindow.name == "test") { newWindow.close(); } oneScdWindow=window.open("test.html", "test"); }

  • 親windowに戻る際に・・・

    過去に似たような質問があるのですが、解決出来ませんでしたので質問させて頂きます。今作成中のHPは、親windowが上下の2つのフレームに分かれています。その下のフレーム内から別windowとしてリンクを作成しています。その時に別windowとして開いた子windowからさらに、form actionを利用して元の親windowに表示を戻したいのです。 ==子windowのスクリプト一部記述== <script type='text/javascript'> function jump(){ window.opener.location.href='AAA.cgi' window.close();} </script> ==子windowのform内一部記述== <input type='submit' name='submit' value='戻る' onclick='jump()'> このような感じの記述で取り合えず子windowは閉じて元の親windowにAAA.cgiのページが表示されたのですが、フレームの下の部分に表示します。これを、target="_top"のような感じで1つのフレームの状態に戻して表示したいのですが、何か良い方法はありますでしょうか??お願い致します。M(v_v)M

  • 【window.event.srcElement】のクロスブラウザ

    質問です。 window.event.srcElement の記述をすると、IEでは取得できるのですがFirefoxでは動作しません。 IE以外のブラウザで、取得する記述でなにかよい方法はありますか? ※ちなみに、IDを取得してから、エレメントを取得する方法はわかるのですが、これだと、同じ動作をさせるのにIDをいくつも記述しなければならないのがネックなのです。 IDからでなく、直接、srcElementを参照したいのです。 宜しくお願い致します。

  • とても困ってます!!助けてください。JavaScript、同じファイル内に重ね重ね使うとエラー?

    JavaScriptで、困っています。 親ウインドウのgifのボタンをクリックすると、 子ウインドウが開く仕様のHTMLページを作っています。 このソースが同じHTMLファイル内(同じファイルのソース)に 一度きり、または複数回、出てきます。 すると、一度きりしか、ソースとして書いていない方については 子ウインドウが開くのですが、 複数回、同様のソースがあるファイルについては 子ウインドウを開く動作(gifのボタンをクリック)をすると ”サーバが見つかりません”というエラーの表示がされた 子ウインドウが開いてしまいます。 JavaScriptは重ね重ね使ってはだめなんでしょうか? あるいは、記述に問題があるんでしょうか? どう書いたらいいのでしょうか? 月曜納品なので、実はとっても焦っています。 どうか教えてください。よろしくお願いいたします。

  • hrefでのリンクと、window.openの違いについて

    質問させて頂きます。 現在、HTMLで画面を2つ作成しています。 内容として、1つ目のウインドウに入力した値を、 2つ目のウインドウにJavaScriptを利用して受け渡す、というものです。 実現するために色々調べていたところ、気になったことがあります。 なぜ、hrefで画面遷移する場合に、値の受け渡しはできないのでしょうか?(JavaScriptを用いて) window.openを利用すれば、JavaScriptを利用して値の受け渡しはできる、という情報を得られました。 親ウインドウと子ウインドウの関係であれば値を受け渡すことが可能であるのに、hrefでの値の受け渡しが不可能な理由は何なのか?何か特別な制約があるのか?と、気になっています。 もし、ご存じの方がいらっしゃいましたら、もしくは私が何か勘違いしているのであれば、ご指摘、ご教授宜しくお願い致します。

  • windowのクローズについて

    javascriptを以下のように利用する方法として より良い方法を教えてください。 現在、1つのフォームに2つのボタン(b1,b2)を利用して ・b1 を押すと新しいウィンドウ(w1)を作成(立ち上げる) ・b2 を押すとウィンドウ(w1)をクローズする というものを作成しています。 b1実行時の処理として w1 = window.open("about:blank","w1"); document.forms[0].target="w1"; retun true; b2実行時の処理として document.forms[0].target="_top"; if(!w1.closed)w1.close(); return true; このようにした場合、 一度、b1を実行してウィンドウ(w1)を立ち上げてから b2を実行すれば何も問題なくウィンドウ(w1)は閉じます。 しかし、b1を実行していない場合や、 ユーザが自分でウィンドウ(w1)を閉じた場合、b2実行時に IEで「ランタイムエラー w1が宣言されていません」 とエラーが出ます。 (エラーが出るだけで処理自体は問題ないようです) どのように記述すればエラーになりませんか?

  • window.closeについて

    ウィンドウを閉じたい時に <button onclick="window.close()">閉じる</button> と言う風に使っていたのですが、この<button>~</button>を使わずに(ボタンを表示しないで)ウィンドウを閉じるにはどうすればいいのでしょうか? <a href onclick="window.close()">閉じる</a> と言うのを試してみたらオンマウス時に指に変化しなくなりましたが、これは使っても大丈夫なのでしょうか? 初心者質問ですみませんm(__)m

専門家に質問してみよう