Собственно, задача в том, чтобы при закрытии родительского окна или выгрузке из него родительского документа закрывались порожденные им дочерние. Вроде задача простая - в родительском окне по событию unonload применяем метод close() к именам всех закрытых окон.
Однако возникает проблема - а если дочернее окно не было открыто? Тогда при выгрузке документа мы применяем метод к имени, которое не существует. Возникает ошибка. Конечно, она не фатальна, но консоль ошибок вылезает, у кого она включена, и вообще, хочется все делать так, чтобы не было ошибок.
Что же можно сделать? Как с объектами здесь поступить не получится - известно, что массива дочерних окон не существует, их нельзя как объекты, обнаружить и перебрать по очереди, их можно вытаскивать только по именам.
Проверка на существование окна вызывает ту же ошибку - если мы пишем if(popupWin) - предполагается, что объект может возвращать истину или ложь, а его нет вообще такого.
Можно, конечно, задать глобальную переменную имени открываемого окна. Например popupWIn. То есть имя такое по любому существует, открывали окно, или нет.
Но тогда вылезает другая ошибка - пишет объект не имеет свойств. Собственно, я так понял, что создать объект дочернего окна полноценно можно только, открыв это окно.
У меня только одна мысль, как избавиться от этих ошибок. Ввести глобальную переменную присвоить ей FALSE, а если скрипкт открывает окно, то присваивать ей TRUE. А в обработчике unonload проверять, и применять к окну метод close, только если переменная TRUE. Но способ уж больно топорный. Может есть поизящнее?
You can post now and register later.
If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.
Здравствуйте, подскажите какой тег использовать для увеличения значения, пример на картинке.
Вроде, про такой тег я слышала. Если есть тег прогресс бар, значит и такое должно быть.
Question
Шурик_
Собственно, задача в том, чтобы при закрытии родительского окна или выгрузке из него родительского документа закрывались порожденные им дочерние. Вроде задача простая - в родительском окне по событию unonload применяем метод close() к именам всех закрытых окон.
Однако возникает проблема - а если дочернее окно не было открыто? Тогда при выгрузке документа мы применяем метод к имени, которое не существует. Возникает ошибка. Конечно, она не фатальна, но консоль ошибок вылезает, у кого она включена, и вообще, хочется все делать так, чтобы не было ошибок.
Что же можно сделать? Как с объектами здесь поступить не получится - известно, что массива дочерних окон не существует, их нельзя как объекты, обнаружить и перебрать по очереди, их можно вытаскивать только по именам.
Проверка на существование окна вызывает ту же ошибку - если мы пишем if(popupWin) - предполагается, что объект может возвращать истину или ложь, а его нет вообще такого.
Можно, конечно, задать глобальную переменную имени открываемого окна. Например popupWIn. То есть имя такое по любому существует, открывали окно, или нет.
Но тогда вылезает другая ошибка - пишет объект не имеет свойств. Собственно, я так понял, что создать объект дочернего окна полноценно можно только, открыв это окно.
У меня только одна мысль, как избавиться от этих ошибок. Ввести глобальную переменную присвоить ей FALSE, а если скрипкт открывает окно, то присваивать ей TRUE. А в обработчике unonload проверять, и применять к окну метод close, только если переменная TRUE. Но способ уж больно топорный. Может есть поизящнее?
Link to comment
Share on other sites
4 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.