iframe要素

このエントリーをはてなブックマークに追加

iframe要素はインラインフレームを作成しをWebページを入れ子にするための要素です。

src属性にページ内で読み込みたいWebページのアドレスを指定することで、インラインフレーム内に指定したWebページを読み込むことができます。

<iframe src="http://www.webcreativepark.net/html/"></iframe>

srcdoc属性でインラインフレーム内のHTMLを直接指定できる事も可能です。

<iframe srcdoc="<p>srcdoc</p>"></iframe>

name属性を利用してフレームの名前を指定することができます。a要素などのリンクでフレームの名前をtarget属性に指定することで指定したインラインフレームでページを表示することができます。

<a href="http://www.webcreativepark.net/" target="windowName">link</a>
<iframe src="http://www.webcreativepark.net/html/" name="windowName"></iframe>

sandbox属性を指定することでインラインフレームに読み込むコンテンツのセキュリティ制限をかけることができます。

<iframe src="index.html" sandbox></iframe>

sandbox属性のみを指定した場合は最上位のセキュリティが施されるが、値にスペース区切りで許可する条件を付加していくことができる。

allow-forms フォームの送信を許可
allow-pointer-lock Pointer Lock APIを許可
allow-popups target属性やwindow.open()、showModalDialog() の実行の許可
allow-same-origin 親ウィンドウと同じドメインを許可
allow-scripts スクリプトの実行を許可
allow-top-navigation 上位のウィンドウの操作を許可

下記のサンプルではインラインフレーム内のスクリプトの実行やフォームの送信は許可されることになる。

<iframe src="index.html" sandbox="allow-forms allow-scripts"></iframe>

HTML5で追加されたseamless属性を指定することでインラインフレーム内のページをシームレスにページ内に読み込むことができ、親ドキュメントで指定したCSSを継承できたり、リンクが親ドキュメント内で展開されます(現在の対応ブラウザは調査中。)。

<iframe src="http://www.webcreativepark.net" seamless></iframe>

また、width属性height属性でインラインフレームの幅や高さを指定することができます。

<iframe src="index.html" width="100" height="100"></iframe>

ただし、iPhoneやiPadなどのiOS端末やAndroidの4未満の端末はiframe要素に対する高さ指定を無視しインラインフレームの高さを内部のドキュメントと同じ高さに調整するので注意が必要です。

参考URL

4.8.2 The iframe element - W3C

登録日 : 2013年12月13日 最終更新日 : 2013年12月20日

同じカテゴリー(エンベッディッド)のエントリー

検索

スポンサードリンク

バージョン

リファレンス