--iframe中调用父窗口的js
window.parent.uploadfile();
--iframe 父窗口和子窗口的调用方法
父窗口调用子窗口
iframe_id.myH1.innerText=
子窗口调用父窗口
parent.myH1.innerText=
父窗口调用子窗口
window.frames["iframe的id"].document.getElementById("iframe中的id"?)
子窗口调用父窗口
parent.document.getElementById("父页面中的Id")
子窗口调用父窗口的方法:
window.parent.closedivtree();
<iframe id="topPage" width="100%" height="100%" frameborder=0></iframe>
<script type="text/javascript">
document.getElementById("topPage").src=
'${formUrl}&processInstanceId='+'${tib.processInstanceId}'+'&head='+
encodeURIComponent(encodeURIComponent('${head}'));
</script>
--iframe有一个属性,可以在家完成一个后再次加载后面的Iframe
onreadystatechange="if(this.readyState=='complete')loadBill();"
--下面是细化方法,
一般来说,我们判断 iframe 是否加载完成其实与 判断 JavaScript 文件是否加载完成 采用的方法很类似:
var iframe = document.createElement("iframe");
iframe.src ="http://www.planabc.net";
if(!/*@cc_on!@*/0){//if not IE
iframe.onload =function(){
alert("Local iframe is now loaded.");
};
}else{
iframe.onreadystatechange =function(){
if(iframe.readyState =="complete"){
alert("Local iframe is now loaded.");
}
};
}
document.body.appendChild(iframe);
--最近, Nicholas C. Zakas 文章《Iframes, onload, and document.domain》的评论中 Christopher 提供了一个新的判断方法(很完美)
var iframe = document.createElement("iframe");
iframe.src ="http://www.planabc.net";
if(iframe.attachEvent){
iframe.attachEvent("onload",function(){
alert("Local iframe is now loaded.");
});
}else{
iframe.onload =function(){
alert("Local iframe is now loaded.");
};
}
document.body.appendChild(iframe);
几点补充说明:
- IE 支持 iframe 的 onload 事件,不过是隐形的,需要通过 attachEvent 来注册。
- 第二种方法比第一种方法更完美,因为 readystatechange 事件相对于 load 事件有一些潜在的问题。