При программном создании окон в JavaScript при помощи метода window.open можно определять состояние созданного окна путем проверки свойства closed. С локальным окнами особых проблем нет, а вот если окно создано для внешнего адреса, то в Opera использование свойства closed становится невозможным из-за ограничений безопасности. Однако, решение этой проблемы есть.
Код
<script language="javascript" type="text/javascript">
// переменная для хранения ссылки на окно
var myWin;
// функция для создания нового окна
function OpenWin(){
// создаем пустое окно
myWin = window.open('','_blank','toolbar=no,status=no,resizable=yes,scrollbars=yes,width=500,height=500');
// выводим нужную страницу в это окно через фрейм
myWin.document.write('<html><body style="margin:0;padding:0;"><iframe width="500" height="500" src="http://kbyte.ru" frameborder="0" allowfullscreen></iframe></body></html>');
}
// функция проверки закрытости окна
function CheckWin() {
// если окно существует, проверяем его закрытость
if(myWin&&(typeof(myWin.closed)=="undefined"||myWin.closed)){
alert("Окно закрыто");
}
else {
// окно еще не закрыто, продолжаем проверку
window.setTimeout("CheckWin()",250);
}
}
// запуск проверки окна на закрытость
window.setTimeout("CheckWin()",250);
</script>
<input type="button" value="открыть окно" onclick="OpenWin()" />
Интернет-деятель. Автор многочисленных статей и переводов статей по программированию и информационным технологиям. Работы Алексея можно найти в популярных печатных изданиях компьютерной тематики. Автор проекта Kbyte.Ru. Сейчас Алексей занимается профессиональным Web-программированием на базе технологий .NET Framework. Иногда пишет различные программки и компоненты для Windows и Android. В свободное время занимается Web-дизайном, увлекается фото- и видеосъемкой.
Добавлять комментарии могут только зарегистрированные пользователи сайта.
Если у Вас уже есть учетная запись на Kbyte.Ru, пройдите процедуру авторизации.
Если Вы еще не зарегистрированы на Kbyte.Ru - зарегистрируйтесь.