动态更改iframe的onload事件

3

我有一个页面包含几个<iframe>标签。我想要动态地改变它们的onload行为。我已经有下面这段代码,在FF、Safari、Chrome、Opera中都可以正常工作,但是IE(8)不会遵从。

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'],但没有成功。

谢谢您的帮助!

1个回答

7

在我的设备上它运行良好...
我尝试过:

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-with-javascript - Derek 朕會功夫

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接