我正在努力解决我无法将任何onload
函数附加到动态创建的iframe的问题。这只发生在IE中,适用于FF。这是我的代码:
var ifrm = document.createElement("IFRAME");
ifrm.setAttribute("src", "legacy-hostpage.html?rnd=" + new Date().getTime());
ifrm.style.width = "100%";
ifrm.style.height = "400px";
ifrm.name = "legacy-frame";
ifrm.id = "IFRM-" + new Date().getTime();
ifrm.onload = function() {
alert('onload onload');
};
wrapper.appendChild(ifrm);
我希望我能在这个项目中使用jQuery,但我不能..你能告诉我什么是错的吗?
答案 0 :(得分:2)
我认为你应该为IE使用attachEvent函数。
function myLoad() {
alert( "onload onload" );
}
if ( window.addEventListener ) {
ifrm.addEventListener( "load", myLoad, false );
}
else if ( window.attachEvent ) {
ifrm.attachEvent( "onload", myLoad );
}
else {
ifrm.onload = myLoad;
}
wrapper.appendChild( ifrm );
以上代码应该可以在所有浏览器中正常运行。
答案 1 :(得分:2)
您应该在设置src属性之前添加onload回调。