如何在父窗口等待子窗口载入完成?? try catch
在父窗口中执行如下内容
var w=window.open( "a.asp ");
w.add_row() //a.asp 中的一个js函数
w.add_row()这一句总是出错,但我写成这样就不会错
var w=window.open( "a.asp ");
alert(w);
w.add_row() //a.asp 中的一个js函数
我经过观察发现是因为弹出窗口载入需要时间,如果紧接着执行w.add_row,add_row函数还没有初始化,就出错。
但如果用alert拖延一下时间再执行w.add_row,子窗口就载入完毕了,add_row就没问题。
我想能否用错误处理来 等待窗口载入完毕呢? 以下是我写的一点代码,因为第一次用try catch,不懂运行机制,请大家指出。 (a.asp 中加入了一句 var loadcomplete=true;)
var w=window.open( "a.asp ");
var err;
while(!(w.closed||err)){
try{
throw w.loadcomplete;
}catch(err){}
}
w.add_row();
另外除了出错处理还有什么别的办法 等待子窗口载入完成呢?
------解决方案--------------------用回调方式
主窗口:
w = open();
function doSomething(){
....
}
子窗口
window.onload=function(){
parent.doSomething();
}