1. 程式人生 > >文件load事件:img、iframe

文件load事件:img、iframe

嵌套if 研究 else app function win ner jpg n)

iframe的 load 事件

在所有為IFRAME動態添加onload監聽事件的方法中,只有 使用事件監聽方式為 IFRAME 的 onload 事件綁定處理函數,IE6、7、8才有效。所以為 IFRAME 添加load事件完美方案如下:

// 事件監聽兼容方案
function addEvent(elem,event,fn){
    if (elem.attachEvent) {
        elem.attachEvent(‘on‘+event,fn)
    } else {
        elem.addEventListener(event,fn,false)
    }
}	

window.onload = function(){
	var iframeA = document.createElement(‘iframe‘);
	iframeA.src = ‘http://www.baidu.com‘
	addEvent(iframeA,‘load‘,function(){
		document.body.bgColor = ‘#000‘; // 回調函數
	});
	document.body.appendChild(iframeA);
}
		

優化頁面建議不要嵌套iframe,但是在內部項目還是很常見。其實在IE中,監控iframe加載完畢還可以采取監聽 onreadystatechange 事件。

IMG的 load 事件

img的load事件,我們使用 new Image()。這裏我們得註意 complete 事件。研究網上的得出以下代碼:

var img = new Image(); 
img.src= "http://i1.hoopchina.com.cn/user/627/17191627/17191627_big_3.jpg";
if (img.complete || img.width) {
	alert("該圖片已經在緩存中,不需要再下載")
	alert(img.height)
} else {
	img.onload = function() {
		alert("圖片加載完成");
		alert(img.height)	
	}
}
		

文件load事件:img、iframe