Fancybox将样式表添加到父页面

时间:2012-02-02 15:52:00

标签: jquery fancybox parent

我有这个代码将样式表添加到fancybox iframe中的页面。我可以对父页面做同样的事吗?

我试过这个但是没有用......

window.parent.changeStyles(stylesheet);

function changeStyles(styles){ $(“”,{                        rel:“stylesheet”,                        输入:“text / css”,                        href:样式                     })appendTo( “头”)。                 };

            $('.change-styles').on('click',function(){                              
                var stylesheet = $(this).attr('href');
                changeStyles(stylesheet);


                return false
            });

1 个答案:

答案 0 :(得分:1)

首先,定义一个父文件:

<html>
<head></head>
<body>
    <iframe src="iframe.html"></iframe>
</body>
</html>

然后将iframe文件设为iframe.html

<html>
<head>

<script>

function addCSSToParent(url) {
    var link = document.createElement('link');
    link.rel = 'stylesheet';
    link.href = url;
    link.type = 'text/css';
    window.parent.document.getElementsByTagName('head')[0].appendChild(link);
}

// Add some CSS
addCSSToParent('some.css');

</script>
</head>

<body>This is the iframe.</body>
</html>

addCSSToParent()将使用给定的URL将新DOM元素添加到其父元素的头部。确保在服务器环境中运行此操作,因为访问父项有效,但在Chrome中出现了一些安全错误。