[10] [CODE(HTMLe)@en[[[iframe]]]] [[要素]]の [DFN[[CODE(HTMLa)@en[[[srcdoc]]]]]] [[属性]]は、
[CODE(HTMLe)@en[[[iframe]]]] 内に[[レンダリング]]する[[文書]]を埋め込むための[[属性]]です。
[CODE(HTMLa)@en[[[src]]]] [[属性]]に [CODE(URI)@en[[[data:]]]] [[URL]] を使って [[HTML文書]]を埋め込むのと似ていますが、
構文的に [CODE(HTMLa)@en[[[srcdoc]]]] [[属性]]の方が単純ですし、より使いやすいような規定が色々あります。
* 仕様書
[REFS[
- [17] '''[CITE@en-US-x-hixie[HTML Standard]] ([TIME[2013-12-19 00:10:55 +09:00]] 版) '''
- [11] [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2013-12-19 00:10:55 +09:00]] 版)
]REFS]
* 意味
[18] [CODE(HTMLa)@en[[[srcdoc]]]] [[属性]]は、 [CODE(HTMLe)@en[[[iframe]]]] [[要素]]が[[表現]]する[[入れ子閲覧文脈]]に含まれるページの内容を指定するものです。 [SRC[>>17]]
[22] [CODE(HTMLa)@en[[[srcdoc]]]] [[属性]]と [CODE(HTMLa)@en[[[src]]]] [[属性]]の両方がある場合、
[CODE(HTMLa)@en[[[srcdoc]]]] [[属性]]が優先されます。 [CODE(HTMLa)@en[[[src]]]] [[属性]]は古い
[[Webブラウザー]]のための[[フォールバック]]として使うことができます。
* IDL 属性
[24] [CODE(DOMi)@en[[[HTMLIFrameElement]]]] [[インターフェイス]]の [DFN[[CODE(DOMa)@en[[[srcdoc]]]]]]
[[IDL属性]]は、 [CODE(DOMi)@en[[[DOMString]]]] の読み書き可能な[[属性]]であり、
[CODE(HTMLa)@en[[[srcdoc]]]] [[内容属性]]を[[反映]]します。 [SRC[>>17]]
* [CODE(HTMLe)@en[iframe]] [CODE(HTMLa)@en[srcdoc]] 文書
[19] [CODE(HTMLa)@en[[[srcdoc]]]] [[属性]]を解釈することによって生じる[[文書]]のことを、
[DFN[[RUBYB[[[[CODE(HTMLe)@en[iframe]] [CODE(HTMLa)@en[srcdoc]]文書]]]@en[[CODE(HTMLe)@en[iframe]] [CODE(HTMLa)@en[srcdoc]] document]]]]といいます。
[12] [[[CODE(HTMLe)@en[iframe]] [CODE(HTMLa)@en[srcdoc]]文書]]の[[文書の番地]]には、
[DFN[[CODE(URI)@en[[[about:srcdoc]]]]]] という特別な [[URL]] が使われます [SRC[>>11]]。
[25] [[[CODE(HTMLe)@en[iframe]] [CODE(HTMLa)@en[srcdoc]]文書]]の[[起源]]や[[実効スクリプト起源]]は、
外側の[[文書]]のものの[[エイリアス]]となります。
[20] [[HTML文書]]に含まれる[[[CODE(HTMLe)@en[iframe]] [CODE(HTMLa)@en[srcdoc]]文書]]は [[HTML文書]]、
[[XML文書]]に含まれる[[[CODE(HTMLe)@en[iframe]] [CODE(HTMLa)@en[srcdoc]]文書]]は [[XML文書]]でなければ[['''なりません''']]。
[SRC[>>17]]
[21] [CODE(HTML)@en[[[DOCTYPE]]]] は省略できます [SRC[>>17]]。[[[CODE(HTMLe)@en[iframe]] [CODE(HTMLa)@en[srcdoc]]文書]]は
[CODE(HTML)@en[[[DOCTYPE]]]] の有無や内容によらず、[[無奇癖モード]]となります。
[16] [[[CODE(HTMLe)@en[iframe]] [CODE(HTMLa)@en[srcdoc]]文書]]には[[文字符号化宣言]]を含めることができません。
([[[CODE(HTMLe)@en[iframe]] [CODE(HTMLa)@en[srcdoc]]文書]]は[[文字符号化]]された[[バイト列]]ではなく、
[[DOM]] 上に出現する[[文字列]]だからです。)
[13] [[[CODE(HTMLe)@en[iframe]] [CODE(HTMLa)@en[srcdoc]]文書]]の[[フォールバック基底URL]]は、
外側の[[文書]]の[[文書基底URL]]です。ひいては [CODE(HTMLe)@en[[[base]]]] [[要素]]がない
[[[CODE(HTMLe)@en[iframe]] [CODE(HTMLa)@en[srcdoc]]文書]]の[[文書基底URL]]も、外側の[[文書]]の[[文書基底URL]]
となります。 [SRC[>>11]]
[15] [[[CODE(HTMLe)@en[iframe]] [CODE(HTMLa)@en[srcdoc]]文書]]では、 [CODE(HTMLe)@en[[[title]]]]
[[要素]]を省略できます。
[23] [[[CODE(HTMLe)@en[iframe]] [CODE(HTMLa)@en[srcdoc]]文書]]には [CODE(HTMLa)@en[[[seamless]]]]
[[属性]]の効果が適用されます。
* 関連
[14] [CODE(HTMLa)@en[[[srcdoc]]]] [[属性]]は[[翻訳可能属性]]です。
* 歴史
[1] [CITE@en[(X)HTML5 Tracking]]
([TIME[2010-01-23 00:27:13 +09:00]] 版)
[2] [CITE[IRC logs: freenode / #whatwg / 20100120]]
([TIME[2010-01-21 23:48:40 +09:00]] 版)
[3] [CITE[IRC logs: freenode / #whatwg / 20100121]]
([TIME[2010-01-23 15:13:04 +09:00]] 版)
[4] [CITE[IRC logs: freenode / #whatwg / 20100122]]
([TIME[2010-01-24 23:26:45 +09:00]] 版)
[5] [CITE[IRC logs: freenode / #whatwg / 20100130]]
([TIME[2010-01-31 21:32:20 +09:00]] 版)
[6] [CITE[IRC logs: freenode / #whatwg / 20100820]]
( ([TIME[2010-08-22 16:21:56 +09:00]] 版))
[7] [CITE[''''''[''''''whatwg'''''']'''''' srcdoc="" feedback]]
( ([TIME[2010-11-16 08:43:29 +09:00]] 版))
[8] [CITE[''''''[''''''whatwg'''''']''''''