アプリ版:「スタンプのみでお礼する」機能のリリースについて

親ウィンドウと子ウィンドウの制御について、質問です。

子ウィンドウを開いた状態で、親ウィンドウを閉じた時に
連動して子ウィンドウを閉じたいのですが、閉じません。
(複数の子ウィンドウの内、閉じるモノと閉じないモノがあります。
 同じ記述をしているんですが...)
よろしくお願いします。

A 回答 (2件)

補足を見ましたが、、、



SyosaiWinはグローバル変数としても宣言されていますが、戻値を受け取る時にローカル宣言してますよ。
グローバルのSyosaiWinとローカルのSyosaiWinは別の変数であり、openの戻値を受け取ったSyosaiWinはopenSyosaiWin関数の終了とともに消滅します。

恐らく「うっかり」だったのだと思いますが、もし変数のスコープや寿命についての理解が完全でないのであれば、再度質問してください。
    • good
    • 0
この回答へのお礼

ご指摘のとおりでした!
本当にありがとうございました!

お礼日時:2001/06/11 17:01

どう記述しているのでしょうか?



 開いたウィンドウの名前を全部記憶しておいて、それらを閉じるだけで、親のClose時に閉じればいいだけでは?

この回答への補足

記述内容
----------------------------------------------------------------------
/* ウィンドウ内容移行時に、サブウィンドウを閉じる */
function closeSubWin()
{
closeHinmokuWin();
closeSyosaiWin();
}

/* 品目表示ウィンドウ */
var HinmokuWin = null;
function openHinmokuWin( p1String )
{
var url = "n_wzhinmokul01.jsp?" + p1String;
var opt = "directories=no,location=no,menubar=no,resizable=yes,status=no,toolbar=no, width=" + 720 + ",height=" + 480;
var winname ="hinmokuWin"
HinmokuWin = window.open( url, winname, opt );

HinmokuWin.focus();
}

function closeHinmokuWin()
{
if( HinmokuWin && HinmokuWin.name ) {
HinmokuWin.close();
HinmokuWin = null;
}
}

/* 詳細表示ウィンドウ */
var SyosaiWin = null;
function openSyosaiWin( p2String )
{
var url = "n_wzpwst.jsp?" + p2String;
var opt = "directories=no,location=no,menubar=no,resizable=yes,status=no,toolbar=no,scrollbars=yes, width=" + 720 + ",height=" + 600;
var winname ="syosaiWin"
var SyosaiWin = window.open( url, winname, opt );

SyosaiWin.focus();
}

function closeSyosaiWin()
{
if( SyosaiWin && SyosaiWin.name ) {
SyosaiWin.close();
SyosaiWin = null;
}
}
//-->
</script>
</head>

<body
onUnload="closeSubWin();"
>
----------------------------------------------------------------------
見にくかったら、スミマセン。
HinmokuWin は閉じるのですが
SyosaiWin は閉じません。
どうでしょうか?
よろしくお願いします。

補足日時:2001/06/11 16:01
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!