2014-10-05 6 views
0

У меня есть главное окно, внутри этого окна есть iframe. В это iframe главное окно загружает несколько разных окон. Из этих окон открываются окна, которые не являются модальными, а архитектура сайта не позволяет сделать их модальными. Мне нужно закрыть все те окна, которые были открыты из всех этих окон iframe при выгрузке окна MAIN. Есть ли способ заставить его работать в браузере и особенно в IE? Мне нужна обратная совместимость до и включая IE 8. Я приложил схему архитектуры сайта enter image description hereКак закрыть окна, которые были открыты из iframe главного окна при выгрузке главного окна

ответ

0

Возьмите ручку окна при их открытии и назначить функцию обратного вызова ножа, что-то вроде:

var w = window.open("...."); 
w.callback = function(){ 
    if (window){ 
     return true; 
    } 
} 

Затем внутри каждого открытого окна имеют механизм пула, который будет вызывать

callback 

запертых внутри попытке поймать, чтобы определить, открыватель ул плохо жив.

+0

Благодарим вас, это говорит о том, что каждое окно проверяет, жив ли родитель, хотя я предпочитаю закрыть все открытые окна из родителя. –

+0

ОК, после того, как окно открывания закрыто, вы не можете закрыть дочерние окна, нет ничего, что вы сможет сделать. Другим вариантом было бы хранить открытые окна, а при открытии использовать , где myCleanUpFunc закроет все окна. Это вариант? –

+0

Это может быть вариант, если есть способ обнаружить, что окно было открыто из iframe. Как мне это сделать? –

Смежные вопросы