Fancybox добавить таблицу стилей на родительскую страницу - PullRequest
0 голосов
/ 02 февраля 2012

У меня есть этот код для добавления таблицы стилей на страницу в iframe fancybox. Могу ли я сделать то же самое для родительской страницы?

Я пробовал это, но это не сработало ...

window.parent.changeStyles(stylesheet);

функция changeStyles (styles) { $ ("", { rel: "таблица стилей", тип: "текст / CSS", HREF: стили }) AppendTo ( "голова"). };

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


                return false
            });

1 Ответ

1 голос
/ 02 февраля 2012

Сначала определите родительский файл:

<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() добавит новый элемент DOM в заголовок своего родителя с указанным URL. Обязательно запустите это в серверной среде, потому что доступ к родителю сработал, но в Chrome выдало несколько ошибок безопасности.

...