質問: あるページ(親)から別ドメインのページ(子)をiframeにて表示しており 親ページでのイベントで、文字の大きさ等を変更するjsを実行した場合に iframe内のDOMにも反映したいのですが クロスドメイン制約の為、直接変更することができず困っております。 CORSのレスポンスヘッダー(Access-Control-Allow-Origin)のように、 クロスドメインでのDOM操作を許可する設定方法、 または別のやり方で回避する方法がありましたら教えて頂きたいです。 宜しくお願い致します。
回答: `postMessage`を使うのはどうでしょう? こんなiframeのとき ``` ``` iframeのwindowオブジェクトでiframeの中へメッセージを送り ``` var iframeOBJ = document.getElementById('iframeID').contentWindow; iframeOBJ.postMessage("メッセージを送る", 'iframeで表示しているurl'); ``` iframe中では、イベント'message'で待ち、メッセージが来たら処理する。 ``` window.addEventListener('message', function(event){ //event.data を見て処理を分岐させる。 if("メッセージを送る" == event.data ) { /*何かの処理*/ } }); ```