我有一个包含几个<iframe>
标记的页面。我想动态地更改他们的onload动作。我有以下代码在FF,Safari,Chrome,Opera中正常工作,但IE(8)拒绝遵守。
document.getElementById('myiframe').onload = function() {
return function() { file_onLoad(data); }
}();
我一直在使用类似的东西来设置onchange
元素的<input>
,这在我测试的所有浏览器中都很有效,包括IE。
document.getElementById('myinput').onchange = function() {
return function() { file_onChange(data); }
}();
所以我猜这与我获取框架元素/对象的方式有关。
我也试过frames['myiframe']
但没有成功。
感谢您的帮助!
答案 0 :(得分: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);