父类窗口调用子窗口的方法时虽然可以调用成功,但是浏览器控制台总会有一个提示说找不到子类那个方法的错误。原因很简单,因为子页面还没有完全加载完成,我们需要给iframe注册一个onload事件,等加载完成后再去调用追加的方法。
先简单介绍一下iframe
1、父窗口嵌入iframe
2、父窗口调用子窗口方法
myFrame.window.sonMethod();
window.frames['ghOrgUserList'].window.sonMethod();//推荐使用这个
3、子窗口调用父窗口方法
parent.fatherMethod();
4、兼容浏览器的iframe 加载完成方法
if (myFrame.attachEvent) {
myFrame.attachEvent("onload", function () {
alert("兼容IE加载的加载方法");
});
} else {
myFrame.onload = function () {
alert("兼容其他浏览器加载方法");
};
}
//推荐使用下面的写法
if (window.frames['ghOrgUserList'].attachEvent) {
window.frames['ghOrgUserList'].attachEvent("onload", function () {
alert("兼容IE加载的加载方法");
});
} else {
window.frames['ghOrgUserList'].onload = function () {
alert("兼容其他浏览器加载方法");
};
}
这样先加载再去掉用方法,变量等等就不会报错啦!