使用Javascript在IE7/8中加载iframe

Chr*_*son 6 javascript iframe internet-explorer onload

我有一个iframe加载到父页面.iframe包含一系列表单,每次重新加载iframe内容时(即,在iframe内容中提交表单之后),我都想在父页面上执行操作.当前代码位于父页面上,适用于IE以外的所有大型播放器(我只关注IE 7和8).

var iframe = document.getElementById('theiframe');
function refresh( ) {
  alert('foo');
}
if (iframe.attachEvent) iframe.attachEvent('onload', refresh);
else iframe.onload = refresh;
Run Code Online (Sandbox Code Playgroud)

我错过了哪些会阻止它在IE中有效?

Joe*_*Joe 4

代替:

iframe.onload = refresh
Run Code Online (Sandbox Code Playgroud)

和:

iframe.attachEvent('load', refresh, false); 
Run Code Online (Sandbox Code Playgroud)


为了消除任何混乱:

var iframe = document.getElementById('theiframe');
function refresh( ) {
  alert('foo');
}

if (iframe.attachEvent) iframe.attachEvent('onload', refresh);
else iframe.addEventListener('load', refresh, false)
Run Code Online (Sandbox Code Playgroud)