如何将html注入iframe,并在jquery-ui对话框中显示

时间:2015-06-09 19:22:47

标签: javascript html jquery-ui iframe

在这里,我从iframe创建一个jqueryui对话框,并用一些html填充if​​rame。

在firefox中,除非我添加警报,否则它不显示任何内容。有没有更好的方法来说服firefox绘制iframe?

http://jsfiddle.net/jtmx00f4/6/

function fancyDialog(htm) {
    $('<iframe></iframe>').dialog({
        open: function () {
            //alert('presto!');
            var doc = this.contentDocument || this.contentWindow.document;
            doc.body.innerHTML = htm;
        }
    });
}

fancyDialog('<html><body><p>Hello</p></body></html>');

1 个答案:

答案 0 :(得分:0)

虽然@dandavis小提琴确实可以在firefox中运行,但我在this article中找到了一个更完整的解决方案,它不需要setTimeout。

http://jsfiddle.net/jtmx00f4/9/

function fancyDialog(htm) {
    $('<iframe></iframe>').dialog({
        open: function () {
            this.contentWindow.contents = htm;
            this.src = 'javascript:window["contents"]';
        }
    });
}

fancyDialog('<html><body><p>Hello</p></body></html>');