<iframe srcdoc=""></iframe>

更新日
仕様 HTML Living Standard
分類 フロー・コンテンツ / フレージング・コンテンツ / エンベッディッド・コンテンツ / インタラクティブ・コンテンツ / パルパブル・コンテンツ
利用場所 エンベッディッド・コンテンツが置ける場所
内容 無し

iframe要素srcdoc="" を追加すると、インラインフレームの内容を属性値として記述することができます。


<iframe srcdoc="<p>フレームの内容</p>"></iframe>

属性
任意属性
srcdoc="" フレーム内のコンテンツ HTMLコード フレーム内に表示するコンテンツ

srcdoc属性に記述した値(HTMLコード)が、インラインフレーム内に埋め込まれることになります。

値には次のような形式でHTMLコードを記述します。

srcdoc="<!DOCTYPE html><html><head><title>サンプル</title></head><body><p>フレームの内容</p></body></html>"

しかし、この場合はDOCTYPEhtmlheadtitlebodyが省略可能なので、実際には次のように(bodyの内容のみを)記述することができます。

srcdoc="<p>フレームの内容</p>"

エスケープについて

値の文字列にダブルクォーテーション( " )やアンパサンド( & )が含まれる場合は、それらを次のようにエスケープしておきます。(アンパサンドは二重にエスケープする必要があります)

  • " ) → &quot;
  • & ) → &amp;amp;
<iframe srcdoc="<p><a href=&quot;bbs.cgi?no=15&amp;amp;res=5&quot;>リンクテキスト</a></p>"></iframe>

src属性との関係について

src属性とsrcdoc属性が同時に指定された場合は、srcdoc属性が優先されることになります。

<iframe src="example.html" srcdoc="<p>フレームの内容</p>"></iframe>

例えば、上記のように記述した場合には、ブラウザにより次のように選択されることになります。

  • srcdoc属性に対応しているブラウザでは、srcdoc属性の値(<p>フレームの内容</p>)がインラインフレーム内に埋め込まれます。この場合、src属性の指定は無視されます。
  • srcdoc属性に対応していないブラウザでは、src属性で指定した文書がインラインフレーム内に埋め込まれます。

使用例


<iframe srcdoc="<h1>フレームのサンプル</h1><p>このコンテンツはインラインフレーム内に埋め込まれます。</p>"></iframe>

表示例
  • 未対応のブラウザでは何も表示されません。
src属性と同時に指定した例
  • srcdoc属性に対応していないブラウザでは、iexample_a.html(サンプル1と書かれたページ)が埋め込まれます。

<iframe src="iexample_a.html" srcdoc="<h1>フレームのサンプル</h1><p>このコンテンツはインラインフレーム内に埋め込まれます。</p>"></iframe>

表示例
フレーム内の背景色と文字色を指定した例

<!DOCTYPE html>
<html>
<head>

<title>文書のタイトル</title>

<style>

iframe.example {
background-color: #ffffff;
color: #000000;
}

</style>

</head>
<body>

<iframe class="example" srcdoc="<h1>フレームのサンプル</h1><p>このコンテンツはインラインフレーム内に埋め込まれます。</p>"></iframe>

</body>
</html>

表示例