2011-07-20 55 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) –