/
222.txt
63 lines (49 loc) · 3.38 KB
/
222.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
[2] [DFN[[RUBYB[[[要素を文書に挿入]]]@en[insert an element into a document]]]]するとは、
[[要素]]を[[文書]]の[[子孫]]とすることをいいます。
* 仕様書
[REFS[
- [1] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2014-07-20 22:41:10 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#insert-an-element-into-a-document>
]REFS]
* 定義
[3] [[要素]]の[[根要素]]が変更され、[[文書]]の[[根要素]]となったとき、
[DFN[[RUBYB[[[文書に挿入]]]@en[inserted into a document]]]]されたといいます [SRC[>>1]]。
;; [4] この定義によれば、[[根要素]]が[[文書]]に挿入されて[[文書]]の[[根要素]]となった時には、
[[根要素]]自身は変化していませんから、[[文書に挿入]]はされていないこととなります。
(意図通りなのかは不明です。) 他の定義との整合性を考えると、
このケースも該当すると考えるべきかもしれません。
* 処理
[7] [[文書への挿入]]のタイミングで行われる[[要素]]ごとの処理も存在しています。
[FIG(list)[
- [CODE(HTMLe)@en[[[meta]]]]
-- [CODE(HTML)@en[[[http-equiv]]=[[content-language]]]] [SRC[[[HTML Standard]]]]
-- [CODE(HTML)@en[[[http-equiv]]=[[default-style]]]] [SRC[[[HTML Standard]]]]
-- [CODE(HTML)@en[[[http-equiv]]=[[refresh]]]] [SRC[[[HTML Standard]]]]
-- [CODE(HTML)@en[[[http-equiv]]=[[set-cookie]]]] [SRC[[[HTML Standard]]]]
-- [CODE(HTML)@en[[[name]]=[[theme-color]]]] [SRC[[[meta-theme-color]]]]
- [CODE(HTMLe)@en[[[style]]]] ※ [SRC[[[HTML Standard]]]]
- [CODE(HTMLe)@en[[[link]]]] [SRC[[[HTML Standard]]]]
- [CODE(HTMLe)@en[[[img]]]] [SRC[[[HTML Standard]]]]
- [CODE(HTMLe)@en[[[iframe]]]] [SRC[[[HTML Standard]]]]
- [CODE(HTMLe)@en[[[frame]]]] [SRC[[[HTML Standard]]]]
- [CODE(HTMLe)@en[[[object]]]] ※ [SRC[[[HTML Standard]]]]
- [CODE(HTMLe)@en[[[param]]]]
- [[フォーム被関連付け要素]] ※ [SRC[[[HTML Standard]]]]
- [[ID]] のある[[要素]] [SRC[[[HTML Standard]]]]
- [CODE(HTMLa)@en[[[autofocus]]]] のある[[要素]] [SRC[[[HTML Standard]]]]
- [CODE(HTMLe)@en[[[script]]]] ※ [SRC[[[HTML Standard]]]]
- [CODE(HTMLe)@en[[[embed]]]] [SRC[[[HTML Standard]]]]
- [CODE(HTMLe)@en[[[applet]]]] ※ [SRC[[[HTML Standard]]]]
]FIG]
;; [8] [CODE(HTMLe)@en[[[embed]]]] と [CODE(HTMLe)@en[[[applet]]]]
と [CODE(HTMLe)@en[[[frame]]]]
については仕様上 [[in a [CODE(DOMi)@en[Document]]]] を使って半ば宣言的に規定されていますが、
実質的に「[[要素の文書からの挿入]]」の処理に該当します。
[9] 「※」のあるものは、[[構文解析器]]による挿入か否かで動作が異なります。
;; [10] [[レンダリング]]の更新は、また別のタイミングで行われます。
[CODE(HTMLe)@en[[[title]]]] [[要素]]など[[画布]]外の[[UI]]に関する更新は特に規定がありませんが、
[[レンダリング]]と同タイミングが好ましいでしょうか。 ([[相互運用性]]に直接影響しないためか規定がありません。)
* 関連
[5] [[文書]]が属する[[木]]以外の場合や、[[要素]]以外の場合も含まれる
「[[節点の挿入]]」という[[フック]]も存在します。
[6] 逆に[[要素が文書から削除]]される場合に発生する処理もあり、
挿入時と共通しているものも多くあります。