我有这个代码将样式表添加到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
});
答案 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中出现了一些安全错误。