IFrame 的使用

--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);

 

几点补充说明:

  1. IE 支持 iframe 的 onload 事件,不过是隐形的,需要通过 attachEvent 来注册。
  2. 第二种方法比第一种方法更完美,因为 readystatechange 事件相对于 load 事件有一些潜在的问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值