2012-02-02 11 views
0

このコードは、fancybox iframeのページにスタイルシートを追加するためのコードです。親ページにも同じことをすることはできますか?Fancybox親ページにスタイルシートを追加

私はこれを試してみましたが、それはうまくいきませんでした...

window.parent.changeStyles(stylesheet)

関数changeStyles(スタイル){ $( ""、{ REL: "スタイルシート"、 タイプ: "テキスト/ CSS"、 HREF:スタイル })。appendTo( "ヘッド")。 };

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


       return false 
      }); 

答えて

1

まず、親ファイル定義:

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

を次にiframe.htmlとしてのiframeファイル:

<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でセキュリティエラーが発生していたため、これをサーバー環境で実行してください。

+0

これは私が必要としているものの、親ページをターゲットにしていません。ありがとう – Crashdesk

+0

JSがiframeの中で動作していて、それをCSSに追加したいのですか? –

+0

申し訳ありません。はい。あまりにもよく説明していない – Crashdesk

関連する問題