jquery将所有样式表插入iframe

时间:2009-09-29 02:14:48

标签: javascript jquery iframe wysiwyg

如何将所有父窗口的样式表插入到iframe的头部(samedomain)?

我基于类似问题尝试了代码:

function () {
    var d = frames[0].document;
    var stylesheets = $("link").outerhtml;
    d.open();
    d.write(
    '<html><head>'+
    stylesheets + 
    '<style type="text/css">'+
    '<\/style><\/head><body><\/body><\/html>'
    );
    d.close();
}

显然,这在IE之外不起作用。提前谢谢。

编辑:根据安东尼的回答尝试:

    $("link[type='text/css']").each(function() {
        var stylesheet = $(this).clone();                                    
        $("iframe").contents().find("head").append(stylesheet);
    });

2 个答案:

答案 0 :(得分:3)

所选答案的一个问题是它使用.html(),它只返回该元素的内部html内容,而不是元素本身。这是一个有效的解决方案:

$("link[type='text/css']").clone().appendTo($("iframe").contents().find("head"));

答案 1 :(得分:0)

$("link[type='text/css']").each(function() {
     var stylesheet = $(this).html();
     $("iframe").contents().find("head").append(stylesheet);
     });