TypeError:表达式'printWindow'[undefined]的结果不是对象

时间:2010-06-08 03:56:11

标签: javascript iframe object window dynamic

我正在尝试在我的页面中动态创建隐藏的iframe以加载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 :(得分:0)

在我看来,这就像一个范围问题。当openNewWindow返回时,printWindow对象的范围结束;换句话说,变量只存在于该函数内部,并在函数结束后立即消失。删除var以使变量全局可用(被视为错误形式)或在代码中的其他地方声明变量,并确保它在执行时可用于openNewWindow。

答案 1 :(得分:0)

哦,我解决了。 SOmehow我宣布为全球变种 然后在方法中更早地声明obj。 printWindow = window.open(“”,“”); 仍然不确定为什么我动态创建我的iframe后无法声明它。 谢谢你的帮助!:D

相关问题