1

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

4

1 回答 1

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');
}
于 2013-08-24T04:57:59.227 回答