親ウインドウから、子ウインドウを閉じる

[新着] Webテンプレートを仮オープンしました



0   名前: 炬燵 : 2006/11/23(木) 13:45  ID:XH/9OGYo
質問タイトル通りの疑問です。
親ページでOPENした子ウインドウを、
<a href="□□.html" target="_blank">□□.html</a>
<a href="■■.html" target="_blank">■■.html</a>
<a href="◇◇.html" target="_blank">◇◇.html</a>
  |

親ページに閉じるボタンを設置して、子ウインドウを閉じたいのですが、方法がわかりません。
javascriptで可能なのかもわかりませんので、板違いでしたら、申し訳御座いません。
javascriptで可能ならば、教えていただけないでしょうか?
お願いします。

1   名前: 加納 : 2006/11/23(木) 13:45  ID:0eGP0h2.
winows.openという関数を使用して、子ウィンドウを表示することにより可能だと思います。

<a href="#" onClick="javascript:OpenSubWin()">ほにゃほにゃ</a>
<a href="#" onClick="javascript:CloseSubWin()">ほにゃほにゃを閉じる</a>

<script language="javascript">
var g_sb=null;
function OpenSubWin()
{
  g_sb=windows.open("HonyaHonya.htm","HonyaHonya");
}
function CloseSubWin()
{
  if (g_sb)
    g_sb.close();
}
</script>


確認していないけど、こんな感じかな?
どうでしょう?

2   名前: NullPo : 2006/11/23(木) 13:45  ID:1Bb3RL38
これでいけるかな。
<script type="text/javascript">

function openWindow(thatAnchor)
{
  var childWindow = window.open(thatAnchor.href);
  var closeButton = document.getElementById("closeButton");

  closeButton.onclick = function(){childWindow.close();};
}

</script>

<a href="a.htm" target="_blank" onclick="openWindow(this);return false;">a.htm</a>
<input type="button" value="子画面を閉じる" id="closeButton">


3   名前: 加納 : 2006/11/23(木) 13:45  ID:0eGP0h2.
NullPo様>
ソースがキレイですね。
ついでに私の質問をお答えいただけると嬉しいです。

4   名前:  炬燵 : 2006/11/23(木) 13:45  ID:NfukCAm4
加納さん、NullPoさん ありがとう御座います。
さっそくSampleを作って確認しました、思っていたとおりの動作をします。
結果ですが、親ウインドが子ウインドに隠れて「閉じるボタン」を押せないことに気が付きました、 そこで子ウインドのパラメータを設定して大きさと、表示位置を制御して、利用するようにしました。以前は子ウインドに「閉じるボタン」を設置していたのですが、今回の方法に変更します。
御世話になりました。

一覧へ戻る