親Windowで子Windowをコントロールする方法

親Windowで子Windowを沢山開いたとします。
それを一気に閉じる方法。
とか、一度開いたWindowと同じ名前では開かなかったりとかする方法。
こんな感じでいけると思う。(思うだけ)


親Windowに以下のコードを入れる。

var infoWins = new Array();

window.onunload=function(){
// 子Windowを閉じる
for(var i = 0; i < infoWins.length; i++) {
infoWins[i].close();
}
}

function openWindow(url) {
// 閉じられたWindowをinfoWinsから削除
var infoWins_new = new Array();
for(var i = 0; i < infoWins.length; i++) {
if(!infoWins[i].closed) {
infoWins_new.push(infoWins[i]);
}
infoWins = infoWins_new;
}

// infoWinsの中に既に開いている子Windowがあるかどうかチェック
if(!isOpen()) {
// 無かったら、オープン
// Windowオープンエラー処理は入れてません。
infoWins.push(window.open(url));
}
}

function isOpen() {
// 面倒なので書かない。
return false;
}

コメント

このブログの人気の投稿

雁尾千恵(37)

ResultSet.next()の高速化

TomcatでSessionを使いたくない場合