/
460.txt
68 lines (46 loc) · 2.87 KB
/
460.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
[2] [CODE(DOMi)@en[[[DocumentFragment]]]] の「[[親]]」に相当する[[節点]]のことを[DFN[[RUBYB[[[ホスト]]]@en[host]]]]といいます。
* 仕様書
[REFS[
- [1] [CITE@en-US[DOM Standard]] ([TIME[2013-12-10 15:02:55 +09:00]] 版) <http://dom.spec.whatwg.org/#concept-documentfragment-host>
]REFS]
* 定義
[FIG[
>
[3] [CODE(DOMi)@en[[[DocumentFragment]]]] [[節点]]は、関連付けられた[[要素]]「[DFN[[RUBYB[ホスト]@en[host]]]]」
を持つことができます。
[FIGCAPTION[
[SRC[>>1]]
]FIGCAPTION]
]FIG]
* 用法
[5] [CODE(HTMLe)@en[[[template]]]] [[要素]]は、関連付けられた [CODE(DOMi)@en[[[DocumentFragment]]]]
を持ち、これを[[雛形内容]]といいます。従って[[ホスト]]と[[雛形内容]]は逆方向の関係になります。
;; [7] この場合[[ホスト]]と [CODE(DOMi)@en[[[DocumentFragment]]]] で[[節点文書]]が異なります。
[HISTORY[
[16] ただしなぜかこれが[[ホスト]]関係であることは 2016年3月までは
[[DOM Standard]] にも [[HTML Standard]]
にも明記されていませんでした。
;; [10] [CODE(DOMi)@en[[[HTMLTemplateElement]]]] の [CODE(DOMa)@en[[[content]]]] で[[ホスト]]から
[CODE(DOMi)@en[[[DocumentFragment]]]] への[[強い参照]]がありますが、逆方向には参照がありません。
]HISTORY]
[6] [[影根]] ([CODE(DOMi)@en[[[ShadowRoot]]]]) に対する[[影ホスト]]も[[ホスト]]です。
;; [8] この場合[[影ホスト]]と[[影根]]で[[節点文書]]は同じです。
;; [9] [CODE(DOMi)@en[[[Element]]]] の [CODE(DOMa)@en[[[shadowRoot]]]] と
[CODE(DOMi)@en[[[ShadowRoot]]]] の [CODE(DOMa)@en[host][host (DOM)]] で双方向に[[強い参照]]があります。
* [CODE(DOMa)@en[host][host (DOM)]] 属性
[14] [CODE(DOMi)@en[DocumentFragment]] [[インターフェイス]]ではなく
[CODE(DOMi)@en[ShadowRoot]] [[インターフェイス]]に
[CODE(DOMa)@en[host][host (DOM)]] [[IDL属性]]が定義されています。
[15] ですから、[[雛形内容]]から [CODE(HTMLe)@en[template]]
[[要素]]をたどることはできません。
* 歴史
[4] [[ホスト]]の概念は [CODE(HTMLe)@en[[[template]]]] [[要素]]と[[影DOM]]のために2013年に [[DOM]] に追加されました。
[11] [CITE@en[Shadow: add shadow root · whatwg/dom@b2ee400]]
([TIME[2016-03-16 14:24:10 +09:00]] 版)
<https://github.com/whatwg/dom/commit/b2ee400a6542dc76d41bed5d2edb8c85ba241bfc>
[12] [CITE@en[Editorial: be clearer on host, define light tree · whatwg/dom@ce7df0b]]
([TIME[2016-03-20 18:55:44 +09:00]] 版)
<https://github.com/whatwg/dom/commit/ce7df0bfe425b4502bb40e66806dd76f14fcf68b>
[13] [CITE@en[Set <template>'s DocumentFragment's host · whatwg/html@baa8e34]]
([TIME[2016-03-20 18:57:13 +09:00]] 版)
<https://github.com/whatwg/html/commit/baa8e346d737c115d4a676caa4a172983b87255e>