インラインフレームとは、HTML文書内で別のHTML文書を表示することである。HTMLでインラインフレームを表示するには、IFRAME要素(タグ)を使う。
HTML要素のタグ名、属性名および属性値は、大文字と小文字のどちらでもよい。iframe要素の終了タグは省略できない。
<iframe></iframe>
<IFRAME></IFRAME>
AMP (Accelerated Mobile Pages) の場合、<iframe>
タグは使えない。AMPでインラインフレームを表示するためには、<iframe>
タグの代わりに <amp-iframe>
タグを使う。
iframe要素の開始タグと終了タグの間に子要素およびテキストを含むことはできない。
以下に示す属性をiframe要素に指定することができる。
以下に示す機能を指定できる。
以下に示す許可リストを各機能に対して指定する。
許可リスト | 説明 |
---|---|
* |
すべてのオリジンで許可 |
'self' | 埋め込まれた文書が最上位のブラウジング・コンテキストと同じオリジンの場合は許可 |
'src' | 埋め込まれた文書がsrc属性で指定したURLと同じオリジンの場合は許可 |
'none' | すべてのオリジンで拒否 |
URL | 特定のオリジンのみ許可する |
インライン・フレームの全画面表示を許可する。
<iframe src="/html/example/iframe.html" allow="fullscreen"></iframe>
<iframe src="/html/example/iframe.html" allowfullscreen="true"></iframe>
インライン・フレームの全画面モードを許可する場合、allowfullscreen 属性を指定するだけで、値を指定しなくてもよい。
<iframe src="/html/example/iframe.html" allowfullscreen></iframe>
値 | 意味 |
---|---|
0 | 境界線を表示しない |
1 | 境界線を表示する(規定値) |
インライン・フレームの境界線を表示させない例を以下に示す。
<iframe src="/html/example/iframe.html" frameborder="0"></iframe>
<iframe src="/html/example/iframe.html" height="250"></iframe>
以下に示す値をsandbox属性に指定できる。
<iframe sandbox srcdoc="The <i>Titanic</i> sank in 1912."></iframe>
<iframe src="/html/example/iframe.html"></iframe>
srcdoc 属性が存在する場合は、以下の構文からなる HTML 構文を用いた値を、指定された順序で指定しなければならない。
<iframe srcdoc="The <i>Titanic</i> sank in 1912."></iframe>
<iframe src="/html/example/iframe.html" width="300"></iframe>
iframe要素は次に示すカテゴリに属する。
JavaScript からは IFrameElement インタフェースを通じて iframe 要素へアクセスできる。IFrameElement インタフェースは以下に示すプロパティを持つ。
プロパティ | 型 | 説明 |
---|---|---|
src | string | src属性 |
srcdoc | string | srcdoc属性 |
name | string | name属性 |
allow | string | allow属性 |
allowFullscreen | boolean | allowfullscreen属性 |
width | string | width属性 |
height | string | height属性 |
referrerPolicy | string | referrerpolicy属性 |
loading | string | loading属性 |
IFrameElement は HTMLElement インタフェースを継承しているので、HTMLElement インタフェースのプロパティも利用できる。
Web Hypertext Application Technology Working Group (2022) "The iframe element" HTML Living Standard