TypeError: Результат выражения 'printWindow' [undefined] не является объектом - PullRequest
0 голосов
/ 08 июня 2010

Я пытаюсь динамически создавать скрытые iframes на своей странице, чтобы загрузить 3 другие страницы, чтобы я мог взять весь HTML и объединить их в 1 в новом окне.

Однако я застрял наэтот.Кадры созданы нормально.Но всякий раз, когда JavaScript запускается до части

 var printWindow="";
 function openNewWindow()
 {
     printWindow = window.open("","");
     printWindow.document.open();
     printWindow.document.write(HTMLfromFrames);
     printWindow.document.close(); 
 }

, я получаю эту ошибку: TypeError: Результат выражения 'printWindow' [undefined] не является объектом.

, но если я генерируюКнопка для вызова этой функции отдельно, она отлично работает.Однако мне нужно, чтобы запустить все в один клик событие

Кто-нибудь есть какие-либо идеи, что не так?Спасибо!

Ответы [ 2 ]

0 голосов
/ 09 июня 2010

о, я решил это. Так что я объявлен как глобальный var затем объявите объект ранее в методе. printWindow = window.open ("", ""); все еще не уверен, почему я не могу объявить это после того, как я динамически создаю свои iframe. Спасибо за помощь!: D

0 голосов
/ 08 июня 2010

Мне кажется, это проблема с областью видимости. Область вашего объекта printWindow заканчивается, когда openNewWindow возвращается; другими словами, переменная существует только внутри этой функции и исчезает, как только функция завершается. Удалите var, чтобы сделать переменную доступной глобально (считается плохой формой) или объявите переменную в другом месте вашего кода и убедитесь, что она доступна для openNewWindow при ее выполнении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...