iframe内のスタイル変更について【クロスドメイン制約】

記録
スポンサーリンク

クロスドメイン制約とは

セキュリティの関係から、対象のHTMLファイルが置かれているドメインのサーバーでなければ通信できないという制約があります。

クロスドメイン状況でのiframe操作

iframe内のスタイルを変更しようとして何度も試行錯誤を繰り返したが出来なかった事があります。
その場合、iframe元のドメインを確認しましょう。iframe元のドメインが、設置先のドメインと異なる場合、クロスドメイン制約に掛かり、変更する事が出来ません。
その為、対策としては、iframe元のドメインが管理下にあるならば、元のコードを編集する。異なるドメインであり、管理下にもない場合、操作が出来ない為、iframe内の処理は難しいと判断してよいでしょう。

それでもクロスドメイン状況ではあるがiframeを操作したい

iframe内の操作は変わらず出来ませんが、iframeの親要素・クラス・セレクタについては操作が可能です。
例えば高さを変えたい場合、iframe外の親要素に対してスタイルを設定してみましょう。
強引な手法となりますが、擬似的に高さを変える事ができる場合があります。


コメント