初始化iframe数据,判断iframe加载是否完成的问题

本文介绍了一种在iframe加载完成后初始化MinderMap的方法。通过判断浏览器类型并相应地设置onload或onreadystatechange事件,确保iframe完全加载后再进行数据传递,避免因元素未准备好而引发的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在页面中使用了iframe,在iframe中使用了baidu的mindermap,所以在iframe页面加载完成时需要提供mindermap数据。

问题来了,在提供mindermap数据前alert才会成功,否则找不到 iframe页面元素。

解决办法,在判断iframe加载完成时做初始化操作:

		var iframe = document.getElementById('childframe');
			if (!document.all) { //浏览器 不是IE的情况下     
				iframe.onload = function(){         
					//alert("已经加载完成!");  
					if(data != null && "" != data){
						document.getElementById('childframe').contentWindow.customImport(data);
					}else{
						document.getElementById('childframe').contentWindow.myNew(name);
					}
					document.getElementById('childframe').contentWindow.document.getElementById('fanhui').style.display='none';
					}; 
				} else {     
					iframe.onreadystatechange = function(){        
						if (iframe.readyState == "complete"){            
							//alert("已经加载完成!"); 
							if(data != null && "" != data){
								document.getElementById('childframe').contentWindow.customImport(data);
							}else{
								document.getElementById('childframe').contentWindow.myNew(name);
							}
							document.getElementById('childframe').contentWindow.document.getElementById('fanhui').style.display='none';
							}     
						}; 
				} 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值