2011-07-20 51 views
3

我有一個包含一對標籤的頁面。我想動態地改變他們的onload動作。我有以下代碼在FF,Safari,Chrome,Opera中正常工作,但IE(8)拒絕遵守。爲iframe動態更改onload

document.getElementById('myiframe').onload = function() { 
    return function() { file_onLoad(data); } 
}(); 
我一直在使用用於設置 <input>元素的 onchange類似的東西,這工作得很好所有我測試過的瀏覽器,包括IE

document.getElementById('myinput').onchange = function() { 
    return function() { file_onChange(data); } 
}(); 

所以我猜它是與我越來越框架元件/物件的方式。我也試過frames['myiframe']但沒有成功。

感謝您的幫助!

回答

5

它適用於礦山精...
我想:

function whatever(){ 
    document.getElementById('myiframe').src="http://www.google.com/" 
    document.getElementById('myiframe').onload = function() { 
     return function() { alert("Done."); } 
    }(); 
} 

和它的作品。 (我試過IE9與IE8模式開啓)
如果它不爲你工作,試試這個:

document.getElementById('myiframe').addEventListener('load', file_onLoad, false); 
+2

在這裏閱讀更多:[http://stackoverflow.com/.../iframe-onload -in-ie7-8與 - 的JavaScript(http://stackoverflow.com/questions/6455834/iframe-onload-in-ie7-8-with-javascript) –