IE8 iframe onload没有触发

时间:2013-08-29 13:16:52

标签: iframe internet-explorer-8 onload

我从一个控制器返回以下内容,在当前所有浏览器中,ff,chrome和IE10会导致我的iframe触发onload事件:

return new ContentResult { Content = "", ContentType = "text/html", ContentEncoding = System.Text.Encoding.Unicode };

但是在IE8中它不起作用,我一直在假设我的客户端代码被破坏而没有在iframes onload事件上添加监听器,但我正在使用来自{{的代码3}}:

    var oIFrame = document.createElement('iframe');
    oIFrame.style.display = 'none';
    if(oIFrame.attachEvent)
    {
        oIFrame.attachEvent('onload', fnIFrameCallback);
    }
    else
    {
        oIFrame.onload = fnIFrameCallback;
    }
    document.body.appendChild(oIFrame);

有谁知道IE8是否需要从我的控制器返回一些实际内容而不是空Content=""

1 个答案:

答案 0 :(得分:4)

此代码在IE 8中运行良好...

function fnIFrameCallback(){
    alert("test iframe is now loaded.");
}

function loadLocalIframe(){
    var oIFrame = document.createElement('iframe');
    oIFrame.style.display = 'none';
    if(oIFrame.attachEvent)
    {
        oIFrame.attachEvent('onload', fnIFrameCallback);
    }
    else
    {
        oIFrame.onload = fnIFrameCallback;
    }
    document.body.appendChild(oIFrame);
}