iframe onload in IE7/8 with Javascript

别等时光非礼了梦想. 提交于 2019-11-30 04:49:34

问题


I have an iframe loading into a parent page. The iframe contains a sequence of forms, and I'd like to take action on the parent page every time the iframe content in reloaded (ie, after a form is submitted in the iframe content). The current code is located on the parent page and works in all the big players except IE (I'm only concerned with IE 7 & 8).

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

What am I missing that would prevent this from being effective in IE?


回答1:


Replace:

iframe.onload = refresh

with:

iframe.attachEvent('load', refresh, false); 


To clear any confusion:
var iframe = document.getElementById('theiframe');
function refresh( ) {
  alert('foo');
}

if (iframe.attachEvent) iframe.attachEvent('onload', refresh);
else iframe.addEventListener('load', refresh, false)



回答2:


You can call it from the iframe by calling parent.refresh() when you are done with a submit.



来源:https://stackoverflow.com/questions/6455834/iframe-onload-in-ie7-8-with-javascript

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!