var childWindowHandles = new Array();
function openNewWindow(url, params) {
childWindowHandles[childWindowHandles.length] = window.open(url, '', params);
}
function closeChildWindows() {
for (var loop=0; loop<childWindowHandles.length; loop++)
{
if (!childWindowHandles[loop].closed)
{
childWindowHandles[loop].close();
}
}
}
Второй результат на Google. Закрывает ВСЕ ОС Windows после их хранения в массиве.
Вот еще один способ ООП, если вам не нравятся глобальные переменные. (Я не 100% уверен, что это работает, только изменил код выше.
popups = new popups();
function popups()
{
this.childs = new array();
this.open = function(url, params)
{
this.child.push(window.open(url, '', params));
}
this.closeAll()
{
for(var loop=0; loop<this.childs.length; loop++)
{
if (!this.childs[loop].closed)
{
this.childs[loop].close();
}
}
}
}
Чтобы мы не забывали о 'push'. Это чище и быстрее (обычно):' this.child.push (window.open (url, '', param s); ' –
Там вы идете. Не эксперт Javascript, спасибо за помощь. –
Я не могу отредактировать ответ, но будьте осторожны с добавлением a) в конце: this.child.push (window.open (url, '', params)); в решении ООП – Arthis