iframe的加载事件不会在IE中触发

时间:2013-08-24 04:35:41

标签: javascript events iframe

我在我的页面中创建了iframe,这是代码:

var frame = document.createElement('iframe');
frame.setAttribute('src','');
document.body.appendChild(frame);
if(document.addEventListener){
    frame.addEventListener('load', callback, false);
} else {
    frame.attachEvent('onload', callback);
}

function callback(){
    alert('test');
}

它在FF中工作正常但在IE中没有提醒,为什么? 请注意,我在win8中使用IE10

1 个答案:

答案 0 :(得分:2)

您需要在document.body.appendChild()电话

之后移动addEventListener()
var frame = document.createElement('iframe');
frame.setAttribute('src','');
if(frame.addEventListener){
    frame.addEventListener('load', callback, true);
} else {
    frame.attachEvent('onload', callback);
}
document.body.appendChild(frame);

function callback(){
    alert('test');
}