我正在努力解决无法将任何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,但我不能。你能告诉我怎么了吗?
最佳答案
我认为你应该为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 );
上面的代码应该可以在所有浏览器中正常工作。