2017-09-27 21 views
0

質問: :-)クロスドメインiFrameでスタイリング/ CSSを変更する(「iFrame Resizer」を使用)

私はreeeeeally次の操作を実行する方法の例のようになり

私は2つのドメイン所有 - ドメインAとドメインB

私はドメインBにはiframeを表示したいのですが

現時点では、 "Iframe Resizer"(https://github.com/davidjbradshaw/iframe-resizer)を使用して、ドメインBのiframeに自動的にフィットします。これは素晴らしい動作です!

私はちょうどこれは私がcurrnetlyドメインAで持っているコードです

ドメインAからSENDING異なるスタイリングオンまたはドメインB上のiframe内にスタイリングの変更のグリップを得ることができません。

<!-- Scripts for resizing iFrame SEND --> 

    <script type="text/javascript" src="<?php echo get_stylesheet_directory_uri();?>/js/iframeResizer.contentWindow.min.js" defer></script> 

    <script> 

     //EITHER A TRIGGER OR A MESSAGE CONTAINING CSS TO SEND TO DOMAIN B... 

    </script> 

<!-- Scripts for resizing iFrame SEND --> 

..andこれは、私は現在、ドメインBで持っているコードです:共同の本(最も可能性が高い)、簡単な曲で私を助けることができる誰にでも

<!-- Scripts for resizing iFrame RECIEVE --> 

     <script type="text/javascript" src="<?php echo get_stylesheet_directory_uri();?>/js/iframeResizer.min.js"></script> 

     <iframe style="border: none;" id="asc" src="http://domainA.com/example" width="100%" scrolling="no"></iframe> 

     <script> 

      iFrameResize({log:false}, '#asc') 

      //A RECEIVER FOR THE TRIGGER/CSS FROM DOMAIN A RESULTING IN MODIFIED STYLING OF THE IFRAME CONTENT 

     </script> 

    <!-- Scripts for resizing iFrame RECIEVE --> 

事前のおかげで膨大な数をde! :-)

+0

あなたが直接埋め込まのiframeのドメインBからCSSを継承することはできません。 jQueryを使用してスタイルシートを取得し、それをiframeに追加することができます。必要なすべてのスタイルでドメインAに新しいページを作成し、iframeとしてドメインBに埋め込むことがより良い解決策になります –

+0

コメント@KiranDash ..ありがとう -/ これは、ドメインBに表示する必要があるドメインAには複数のページがあるため、新しいページを30個作成するのではなく、ドメインBのiFrameに表示されているときに、CSSのすべてを少し変更する必要があります。 「Window.postmessage()」(https://developer.mozilla.org/en-私はそれが行く方法であるかどうかわからない(doable/secure?)と私はどのようにわからない – user3484084

+0

あなたかもしれない少しでも達成する'jQuery'。下の私の答えを見てください。私はそれが助けてくれることを願っています –

答えて

0

iframeのスタイルのみを持つスタイルシートを作成し、それをjQueryでiframeに追加します。

コード:

$(document).ready(function(){ 
    $('#iframeFromDomainA').load(function(){ 
     $('#iframeFromDomainA') 
      .contents().find("head") 
      .append($('<link rel="stylesheet" type="text/css" href="https://www.domainb.com/css/styleforiframeonwebsiteb.css">') 
     ); 
    }); 
}); 
+0

もう一度ありがとうKiran ...しかし、それを働かせるように見えることはできません。受信ドメインBのiFrameにCSSを追加/変更することは可能ですか? ここでは、ウィンドウのサイズを前後に送信することが考えられます。 css FROM domainBをホストdomainAに送り返し、iframeの内容のためだけに使用することは可能でしょうか? ここでも可能なこととベストプラクティスについての手掛かりはありません:-) – user3484084

+0

css FROMドメインBをドメインAに送信することが可能かどうか(また、どのようにして)、おそらく "postmessage ")、これが解決策ならば? – user3484084

関連する問題