pswzyu 发表于 2013-2-7 15:12:37

[原创+转载]iframe 的加载状态和事件的绑定

使用jquery,需要iframe的dom加载完成开始执行的脚本, 可以绑定在
jQuery(iframe_dom.contentDocument).ready(function(){
            alert("ready");
}); // 跨浏览器参见 访问iframe
需要等iframe 内容完全加载完成, 可以绑定:
iframe_jq.load(function(){ // 绑定加载完成之后的动作
            alert("complete");
});
或是
iframe_dom.onload();


根据 iframe 状态的改变进行事件处理:
转载自:http://www.cnblogs.com/micheng11/archive/2009/03/31/1425883.html

<div id="load" align="center">
http://www.cnblogs.com/Images/OutliningIndicators/None.gif
http://www.cnblogs.com/Images/OutliningIndicators/None.gif<img src="http://sc.cnwebshow.com/upimg/allimg/070707/01294420.gif"
/> loadinghttp://www.cnblogs.com/Images/dot.gif
http://www.cnblogs.com/Images/OutliningIndicators/None.gif
http://www.cnblogs.com/Images/OutliningIndicators/None.gif</div>
<!-- 首先放一个div,用做loading效果 -->
http://www.cnblogs.com/Images/OutliningIndicators/None.gif
http://www.cnblogs.com/Images/OutliningIndicators/None.gif<iframe id="demo" src="http://www.****.com" width="100%" height="800" frameborder="0" scrolling="no"marginheight="0"></iframe>
<!-- src 里面放你想要的网页-->
http://www.cnblogs.com/Images/OutliningIndicators/None.gif
http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gifhttp://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif<script type="text/javascript">http://www.cnblogs.com/Images/dot.gif 
http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif
http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif//<!
http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif
http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gifvar a = document.getElementById("demo"); 
http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif
http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gifvar b = document.getElementById("load"); 
http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif
http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gifa.style.display ="none"; //隐藏 
http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif
http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gifb.style.display ="block"; //显示
http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif
http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gifhttp://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gifa.onreadystatechange =
function() http://www.cnblogs.com/Images/dot.gif{ 
http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif
http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gifhttp://www.cnblogs.com/Images/OutliningIndicators/ContractedSubBlock.gifif (this.readyState=="complete") http://www.cnblogs.com/Images/dot.gif{ //最近才知道的。不然也写不出来。
http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif
http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif// 解释:一个iframe加载完毕的状态是complete,
http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif
http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif// 就象xmlhttp里的那个==4一样,这些都是规定的http://www.cnblogs.com/Images/dot.gif
http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif
http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gifb.innerHTML ="load complete!"; 
http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif
http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gifb.style.display ="none"; 
http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif
http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gifa.style.display ="block"; 
http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif} 
http://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif} 
http://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif//]]> 
</script>
 
 
-----------EOF---------
页: [1]
查看完整版本: [原创+转载]iframe 的加载状态和事件的绑定