动态更改iframe的onload

Sor*_*anu 3 javascript iframe dom onload

我有一个包含几个<iframe>标签的页面.我想动态地更改他们的onload动作.我有以下代码在FF,Safari,Chrome,Opera中正常工作,但IE(8)拒绝遵守.

document.getElementById('myiframe').onload = function() {
    return function() { file_onLoad(data); }
}();
Run Code Online (Sandbox Code Playgroud)

我已经使用设置类似的东西一直是onchange一个的<input>元素,这非常适用于所有我测试过的浏览器,包括IE浏览器.

document.getElementById('myinput').onchange = function() {
    return function() { file_onChange(data); }
}();
Run Code Online (Sandbox Code Playgroud)

所以我想这与我获取框架元素/对象的方式有关.

我也试过frames['myiframe']但没有成功.

谢谢你的帮助!

Der*_*會功夫 5

它在我的工作正常......
我试过:

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

它的工作原理.(我尝试在启用IE8模式的IE9上)
如果它不适合你,试试这个:

document.getElementById('myiframe').addEventListener('load', file_onLoad, false); 
Run Code Online (Sandbox Code Playgroud)

  • 在这里阅读更多内容:[http://stackoverflow.com/.../iframe-onload-in-ie7-8-with-javascript](http://stackoverflow.com/questions/6455834/iframe-onload-in- ie7-8与 - 的JavaScript) (2认同)