将HTML插入iframe可以在Firefox / Chrome / Opera中使用,但不能在IE7 / 8中使用

时间:2011-02-02 14:11:01

标签: javascript jquery

此代码下面从外部页面加载HTML并将其插入iframe。它在IE中不起作用(IE完全冻结):

$.ajax({
    url: uri,
    success: function(response) {
        var iframe = document.createElement('iframe');
        div.html(iframe);
        var doc = iframe.document;
        if (iframe.contentDocument) {
            doc = iframe.contentDocument; // For NS6
        } else if(iframe.contentWindow) {
            doc = iframe.contentWindow.document; // For IE5.5 and IE6
        }
        doc.open();
        doc.writeln(response);
        doc.close();
    },
    error: function(response) {
        alert(response);
    }
});

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

如果我是你,我会让jQuery处理繁重的工作,因为你已经在使用它了:

$.ajax({
    url: uri,
    success: function(response) {
        var iframe = $('<iframe/>');
        div.html(iframe);
        iframe.contents().find('body').html(response);
    },
    error: function(response) {
        alert(response);
    }
});