39905


あるページ(親)から別ドメインのページ(子)をiframeにて表示しており  
親ページでのイベントで、文字の大きさ等を変更するjsを実行した場合に  
iframe内のDOMにも反映したいのですが  
クロスドメイン制約の為、直接変更することができず困っております。

CORSのレスポンスヘッダー(Access-Control-Allow-Origin)のように、  
クロスドメインでのDOM操作を許可する設定方法、  
または別のやり方で回避する方法がありましたら教えて頂きたいです。

宜しくお願い致します。


CC BY-SA 3.0
2017-11-28T07:13:41.167
39900
2017-11-28T09:46:14.173
20906
question
javascript cors
クロスドメインでのiframe内DOM操作


`postMessage`を使うのはどうでしょう？
<https://developer.mozilla.org/ja/docs/Web/API/Window/postMessage>  
こんなiframeのとき

[code]

    <iframe id="iframeID" src="url"></iframe>
    
[/code]

iframeのwindowオブジェクトでiframeの中へメッセージを送り

[code]

    var iframeOBJ = document.getElementById('iframeID').contentWindow;
    iframeOBJ.postMessage("メッセージを送る", 'iframeで表示しているurl');
    
[/code]

iframe中では、イベント'message'で待ち、メッセージが来たら処理する。

[code]

    window.addEventListener('message', function(event){
             //event.data を見て処理を分岐させる。
             if("メッセージを送る" == event.data ) {  /*何かの処理*/  }
     });
    
[/code]


CC BY-SA 3.0
2017-11-28T09:46:14.173
39905
2017-11-28T09:46:14.173
22793
39900
answer