1

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

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

但是在 IE8 中它不起作用,我一直在假设这是我的客户端代码被破坏并且没有在 iframe onload 事件上添加侦听器,但我使用的是来自Nicholas C. Zakas的代码:

    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=""

4

1 回答 1

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);
}
于 2013-08-29T13:31:33.597 回答